Skip to content

/AWS1/CL_R5A=>GETPLANEXECUTION()

About GetPlanExecution

Retrieves detailed information about a specific plan execution. You must specify the plan ARN and execution ID.

Method Signature

IMPORTING

Required arguments:

iv_planarn TYPE /AWS1/R5APLANARN /AWS1/R5APLANARN

The Amazon Resource Name (ARN) of the plan with the execution to retrieve.

iv_executionid TYPE /AWS1/R5AEXECUTIONID /AWS1/R5AEXECUTIONID

The execution identifier of a plan execution.

Optional arguments:

iv_maxresults TYPE /AWS1/R5AGETPLANEXSTEPSTATES00 /AWS1/R5AGETPLANEXSTEPSTATES00

The number of objects that you want to return with this call.

iv_nexttoken TYPE /AWS1/R5ASTRING /AWS1/R5ASTRING

Specifies that you want to receive the next page of results. Valid only if you received a nextToken response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's nextToken response to request the next page of results.

RETURNING

oo_output TYPE REF TO /aws1/cl_r5agetplanexecrsp /AWS1/CL_R5AGETPLANEXECRSP

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->/aws1/if_r5a~getplanexecution(
  iv_executionid = |string|
  iv_maxresults = 123
  iv_nexttoken = |string|
  iv_planarn = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lv_planarn = lo_result->get_planarn( ).
  lv_executionid = lo_result->get_executionid( ).
  lv_string = lo_result->get_version( ).
  lv_timestamp = lo_result->get_updatedat( ).
  lv_string = lo_result->get_comment( ).
  lv_timestamp = lo_result->get_starttime( ).
  lv_timestamp = lo_result->get_endtime( ).
  lv_executionmode = lo_result->get_mode( ).
  lv_executionstate = lo_result->get_executionstate( ).
  lv_executionaction = lo_result->get_executionaction( ).
  lv_string = lo_result->get_executionregion( ).
  LOOP AT lo_result->get_stepstates( ) into lo_row.
    lo_row_1 = lo_row.
    IF lo_row_1 IS NOT INITIAL.
      lv_stepname = lo_row_1->get_name( ).
      lv_stepstatus = lo_row_1->get_status( ).
      lv_timestamp = lo_row_1->get_starttime( ).
      lv_timestamp = lo_row_1->get_endtime( ).
      lv_executionmode = lo_row_1->get_stepmode( ).
    ENDIF.
  ENDLOOP.
  lo_plan = lo_result->get_plan( ).
  IF lo_plan IS NOT INITIAL.
    lv_planarn = lo_plan->get_arn( ).
    lv_string = lo_plan->get_description( ).
    LOOP AT lo_plan->get_workflows( ) into lo_row_2.
      lo_row_3 = lo_row_2.
      IF lo_row_3 IS NOT INITIAL.
        LOOP AT lo_row_3->get_steps( ) into lo_row_4.
          lo_row_5 = lo_row_4.
          IF lo_row_5 IS NOT INITIAL.
            lv_stepname = lo_row_5->get_name( ).
            lv_string = lo_row_5->get_description( ).
            lo_executionblockconfigura = lo_row_5->get_executionblockconf( ).
            IF lo_executionblockconfigura IS NOT INITIAL.
              lo_customactionlambdaconfi = lo_executionblockconfigura->get_customactionlambdaconfig( ).
              IF lo_customactionlambdaconfi IS NOT INITIAL.
                lv_integer = lo_customactionlambdaconfi->get_timeoutminutes( ).
                LOOP AT lo_customactionlambdaconfi->get_lambdas( ) into lo_row_6.
                  lo_row_7 = lo_row_6.
                  IF lo_row_7 IS NOT INITIAL.
                    lv_iamrolearn = lo_row_7->get_crossaccountrole( ).
                    lv_string = lo_row_7->get_externalid( ).
                    lv_lambdaarn = lo_row_7->get_arn( ).
                  ENDIF.
                ENDLOOP.
                lv_float = lo_customactionlambdaconfi->get_retryintervalminutes( ).
                lv_regiontorunin = lo_customactionlambdaconfi->get_regiontorun( ).
                lo_lambdaungraceful = lo_customactionlambdaconfi->get_ungraceful( ).
                IF lo_lambdaungraceful IS NOT INITIAL.
                  lv_lambdaungracefulbehavio = lo_lambdaungraceful->get_behavior( ).
                ENDIF.
              ENDIF.
              lo_ec2asgcapacityincreasec = lo_executionblockconfigura->get_ec2asgcapincreaseconfig( ).
              IF lo_ec2asgcapacityincreasec IS NOT INITIAL.
                lv_integer = lo_ec2asgcapacityincreasec->get_timeoutminutes( ).
                LOOP AT lo_ec2asgcapacityincreasec->get_asgs( ) into lo_row_8.
                  lo_row_9 = lo_row_8.
                  IF lo_row_9 IS NOT INITIAL.
                    lv_iamrolearn = lo_row_9->get_crossaccountrole( ).
                    lv_string = lo_row_9->get_externalid( ).
                    lv_asgarn = lo_row_9->get_arn( ).
                  ENDIF.
                ENDLOOP.
                lo_ec2ungraceful = lo_ec2asgcapacityincreasec->get_ungraceful( ).
                IF lo_ec2ungraceful IS NOT INITIAL.
                  lv_integer = lo_ec2ungraceful->get_minimumsuccesspercentage( ).
                ENDIF.
                lv_integer = lo_ec2asgcapacityincreasec->get_targetpercent( ).
                lv_ec2asgcapacitymonitorin = lo_ec2asgcapacityincreasec->get_capacitymonapproach( ).
              ENDIF.
              lo_executionapprovalconfig = lo_executionblockconfigura->get_executionapprovalconfig( ).
              IF lo_executionapprovalconfig IS NOT INITIAL.
                lv_integer = lo_executionapprovalconfig->get_timeoutminutes( ).
                lv_rolearn = lo_executionapprovalconfig->get_approvalrole( ).
              ENDIF.
              lo_arcroutingcontrolconfig = lo_executionblockconfigura->get_arcroutingcontrolconfig( ).
              IF lo_arcroutingcontrolconfig IS NOT INITIAL.
                lv_integer = lo_arcroutingcontrolconfig->get_timeoutminutes( ).
                lv_iamrolearn = lo_arcroutingcontrolconfig->get_crossaccountrole( ).
                lv_string = lo_arcroutingcontrolconfig->get_externalid( ).
                LOOP AT lo_arcroutingcontrolconfig->get_regionandroutingcontrols( ) into ls_row_10.
                  lv_key = ls_row_10-key.
                  LOOP AT ls_row_10-value into lo_row_11.
                    lo_row_12 = lo_row_11.
                    IF lo_row_12 IS NOT INITIAL.
                      lv_routingcontrolarn = lo_row_12->get_routingcontrolarn( ).
                      lv_routingcontrolstatechan = lo_row_12->get_state( ).
                    ENDIF.
                  ENDLOOP.
                ENDLOOP.
              ENDIF.
              lo_globalauroraconfigurati = lo_executionblockconfigura->get_globalauroraconfig( ).
              IF lo_globalauroraconfigurati IS NOT INITIAL.
                lv_integer = lo_globalauroraconfigurati->get_timeoutminutes( ).
                lv_iamrolearn = lo_globalauroraconfigurati->get_crossaccountrole( ).
                lv_string = lo_globalauroraconfigurati->get_externalid( ).
                lv_globalauroradefaultbeha = lo_globalauroraconfigurati->get_behavior( ).
                lo_globalauroraungraceful = lo_globalauroraconfigurati->get_ungraceful( ).
                IF lo_globalauroraungraceful IS NOT INITIAL.
                  lv_globalauroraungracefulb = lo_globalauroraungraceful->get_ungraceful( ).
                ENDIF.
                lv_globalclusteridentifier = lo_globalauroraconfigurati->get_globalclusteridentifier( ).
                LOOP AT lo_globalauroraconfigurati->get_databaseclusterarns( ) into lo_row_13.
                  lo_row_14 = lo_row_13.
                  IF lo_row_14 IS NOT INITIAL.
                    lv_auroraclusterarn = lo_row_14->get_value( ).
                  ENDIF.
                ENDLOOP.
              ENDIF.
              lo_parallelexecutionblockc = lo_executionblockconfigura->get_parallelconfig( ).
              IF lo_parallelexecutionblockc IS NOT INITIAL.
                LOOP AT lo_parallelexecutionblockc->get_steps( ) into lo_row_15.
                  lo_row_16 = lo_row_15.
                  IF lo_row_16 IS NOT INITIAL.
                    lv_stepname = lo_row_16->get_name( ).
                    lv_string = lo_row_16->get_description( ).
                    " Skipping lo_row_15 to avoid recursion
                    lv_executionblocktype = lo_row_16->get_executionblocktype( ).
                  ENDIF.
                ENDLOOP.
              ENDIF.
              lo_regionswitchplanconfigu = lo_executionblockconfigura->get_regionswitchplanconfig( ).
              IF lo_regionswitchplanconfigu IS NOT INITIAL.
                lv_iamrolearn = lo_regionswitchplanconfigu->get_crossaccountrole( ).
                lv_string = lo_regionswitchplanconfigu->get_externalid( ).
                lv_planarn = lo_regionswitchplanconfigu->get_arn( ).
              ENDIF.
              lo_ecscapacityincreaseconf = lo_executionblockconfigura->get_ecscapincreaseconfig( ).
              IF lo_ecscapacityincreaseconf IS NOT INITIAL.
                lv_integer = lo_ecscapacityincreaseconf->get_timeoutminutes( ).
                LOOP AT lo_ecscapacityincreaseconf->get_services( ) into lo_row_17.
                  lo_row_18 = lo_row_17.
                  IF lo_row_18 IS NOT INITIAL.
                    lv_iamrolearn = lo_row_18->get_crossaccountrole( ).
                    lv_string = lo_row_18->get_externalid( ).
                    lv_ecsclusterarn = lo_row_18->get_clusterarn( ).
                    lv_ecsservicearn = lo_row_18->get_servicearn( ).
                  ENDIF.
                ENDLOOP.
                lo_ecsungraceful = lo_ecscapacityincreaseconf->get_ungraceful( ).
                IF lo_ecsungraceful IS NOT INITIAL.
                  lv_integer = lo_ecsungraceful->get_minimumsuccesspercentage( ).
                ENDIF.
                lv_integer = lo_ecscapacityincreaseconf->get_targetpercent( ).
                lv_ecscapacitymonitoringap = lo_ecscapacityincreaseconf->get_capacitymonapproach( ).
              ENDIF.
              lo_eksresourcescalingconfi = lo_executionblockconfigura->get_eksresourcescalingconfig( ).
              IF lo_eksresourcescalingconfi IS NOT INITIAL.
                lv_integer = lo_eksresourcescalingconfi->get_timeoutminutes( ).
                lo_kubernetesresourcetype = lo_eksresourcescalingconfi->get_kubernetesresourcetype( ).
                IF lo_kubernetesresourcetype IS NOT INITIAL.
                  lv_string = lo_kubernetesresourcetype->get_apiversion( ).
                  lv_string = lo_kubernetesresourcetype->get_kind( ).
                ENDIF.
                LOOP AT lo_eksresourcescalingconfi->get_scalingresources( ) into lt_row_19.
                  LOOP AT lt_row_19 into ls_row_20.
                    lv_key = ls_row_20-key.
                    LOOP AT ls_row_20-value into ls_row_21.
                      lv_key_1 = ls_row_21-key.
                      lo_value = ls_row_21-value.
                      IF lo_value IS NOT INITIAL.
                        lv_kubernetesnamespace = lo_value->get_namespace( ).
                        lv_string = lo_value->get_name( ).
                        lv_string = lo_value->get_hpaname( ).
                      ENDIF.
                    ENDLOOP.
                  ENDLOOP.
                ENDLOOP.
                LOOP AT lo_eksresourcescalingconfi->get_eksclusters( ) into lo_row_22.
                  lo_row_23 = lo_row_22.
                  IF lo_row_23 IS NOT INITIAL.
                    lv_iamrolearn = lo_row_23->get_crossaccountrole( ).
                    lv_string = lo_row_23->get_externalid( ).
                    lv_eksclusterarn = lo_row_23->get_clusterarn( ).
                  ENDIF.
                ENDLOOP.
                lo_eksresourcescalingungra = lo_eksresourcescalingconfi->get_ungraceful( ).
                IF lo_eksresourcescalingungra IS NOT INITIAL.
                  lv_integer = lo_eksresourcescalingungra->get_minimumsuccesspercentage( ).
                ENDIF.
                lv_integer = lo_eksresourcescalingconfi->get_targetpercent( ).
                lv_ekscapacitymonitoringap = lo_eksresourcescalingconfi->get_capacitymonapproach( ).
              ENDIF.
              lo_route53healthcheckconfi = lo_executionblockconfigura->get_route53healthcheckconfig( ).
              IF lo_route53healthcheckconfi IS NOT INITIAL.
                lv_integer = lo_route53healthcheckconfi->get_timeoutminutes( ).
                lv_iamrolearn = lo_route53healthcheckconfi->get_crossaccountrole( ).
                lv_string = lo_route53healthcheckconfi->get_externalid( ).
                lv_route53hostedzoneid = lo_route53healthcheckconfi->get_hostedzoneid( ).
                lv_route53recordname = lo_route53healthcheckconfi->get_recordname( ).
                LOOP AT lo_route53healthcheckconfi->get_recordsets( ) into lo_row_24.
                  lo_row_25 = lo_row_24.
                  IF lo_row_25 IS NOT INITIAL.
                    lv_route53resourcerecordse = lo_row_25->get_recordsetidentifier( ).
                    lv_region = lo_row_25->get_region( ).
                  ENDIF.
                ENDLOOP.
              ENDIF.
            ENDIF.
            lv_executionblocktype = lo_row_5->get_executionblocktype( ).
          ENDIF.
        ENDLOOP.
        lv_workflowtargetaction = lo_row_3->get_workflowtargetaction( ).
        lv_region = lo_row_3->get_workflowtargetregion( ).
        lv_string = lo_row_3->get_workflowdescription( ).
      ENDIF.
    ENDLOOP.
    lv_iamrolearn = lo_plan->get_executionrole( ).
    lv_integer = lo_plan->get_rectimeobjectiveminutes( ).
    LOOP AT lo_plan->get_associatedalarms( ) into ls_row_26.
      lv_key = ls_row_26-key.
      lo_value_1 = ls_row_26-value.
      IF lo_value_1 IS NOT INITIAL.
        lv_iamrolearn = lo_value_1->get_crossaccountrole( ).
        lv_string = lo_value_1->get_externalid( ).
        lv_string = lo_value_1->get_resourceidentifier( ).
        lv_alarmtype = lo_value_1->get_alarmtype( ).
      ENDIF.
    ENDLOOP.
    LOOP AT lo_plan->get_triggers( ) into lo_row_27.
      lo_row_28 = lo_row_27.
      IF lo_row_28 IS NOT INITIAL.
        lv_string = lo_row_28->get_description( ).
        lv_region = lo_row_28->get_targetregion( ).
        lv_workflowtargetaction = lo_row_28->get_action( ).
        LOOP AT lo_row_28->get_conditions( ) into lo_row_29.
          lo_row_30 = lo_row_29.
          IF lo_row_30 IS NOT INITIAL.
            lv_string = lo_row_30->get_associatedalarmname( ).
            lv_alarmcondition = lo_row_30->get_condition( ).
          ENDIF.
        ENDLOOP.
        lv_integer = lo_row_28->get_mindelayminsbetweenexecs( ).
      ENDIF.
    ENDLOOP.
    lv_planname = lo_plan->get_name( ).
    LOOP AT lo_plan->get_regions( ) into lo_row_31.
      lo_row_32 = lo_row_31.
      IF lo_row_32 IS NOT INITIAL.
        lv_region = lo_row_32->get_value( ).
      ENDIF.
    ENDLOOP.
    lv_recoveryapproach = lo_plan->get_recoveryapproach( ).
    lv_region = lo_plan->get_primaryregion( ).
    lv_accountid = lo_plan->get_owner( ).
    lv_string = lo_plan->get_version( ).
    lv_timestamp = lo_plan->get_updatedat( ).
  ENDIF.
  lv_duration = lo_result->get_actualrecoverytime( ).
  lv_string = lo_result->get_nexttoken( ).
ENDIF.