Skip to content

/AWS1/IF_BDO=>UPDATEHARNESS()

About UpdateHarness

Operation to update a Harness.

Method Signature

METHODS /AWS1/IF_BDO~UPDATEHARNESS
  IMPORTING
    !IV_HARNESSID TYPE /AWS1/BDOHARNESSID OPTIONAL
    !IV_CLIENTTOKEN TYPE /AWS1/BDOCLIENTTOKEN OPTIONAL
    !IV_EXECUTIONROLEARN TYPE /AWS1/BDOROLEARN OPTIONAL
    !IO_ENVIRONMENT TYPE REF TO /AWS1/CL_BDOHARNENVPVDRREQUEST OPTIONAL
    !IO_ENVIRONMENTARTIFACT TYPE REF TO /AWS1/CL_BDOUPDDHARNENVARTFCT OPTIONAL
    !IT_ENVIRONMENTVARIABLES TYPE /AWS1/CL_BDOENVVARIABLESMAP_W=>TT_ENVIRONMENTVARIABLESMAP OPTIONAL
    !IO_AUTHORIZERCONFIGURATION TYPE REF TO /AWS1/CL_BDOUPDATEDAUTHRCONF OPTIONAL
    !IO_MODEL TYPE REF TO /AWS1/CL_BDOHARNESSMODELCONF OPTIONAL
    !IT_SYSTEMPROMPT TYPE /AWS1/CL_BDOHARNSYSCONTBLOCK=>TT_HARNESSSYSTEMPROMPT OPTIONAL
    !IT_TOOLS TYPE /AWS1/CL_BDOHARNESSTOOL=>TT_HARNESSTOOLS OPTIONAL
    !IT_SKILLS TYPE /AWS1/CL_BDOHARNESSSKILL=>TT_HARNESSSKILLS OPTIONAL
    !IT_ALLOWEDTOOLS TYPE /AWS1/CL_BDOHARNESSALWDTOOLS_W=>TT_HARNESSALLOWEDTOOLS OPTIONAL
    !IO_MEMORY TYPE REF TO /AWS1/CL_BDOUPDATEDHARNMEMCONF OPTIONAL
    !IO_TRUNCATION TYPE REF TO /AWS1/CL_BDOHARNESSTRNCTNCONF OPTIONAL
    !IV_MAXITERATIONS TYPE /AWS1/BDOINTEGER OPTIONAL
    !IV_MAXTOKENS TYPE /AWS1/BDOINTEGER OPTIONAL
    !IV_TIMEOUTSECONDS TYPE /AWS1/BDOINTEGER OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_bdoupdateharnessrsp
  RAISING
    /AWS1/CX_BDOACCESSDENIEDEX
    /AWS1/CX_BDOCONFLICTEXCEPTION
    /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_harnessid TYPE /AWS1/BDOHARNESSID /AWS1/BDOHARNESSID

The ID of the harness to update.

Optional arguments:

iv_clienttoken TYPE /AWS1/BDOCLIENTTOKEN /AWS1/BDOCLIENTTOKEN

A unique, case-sensitive identifier to ensure idempotency of the request.

iv_executionrolearn TYPE /AWS1/BDOROLEARN /AWS1/BDOROLEARN

The ARN of the IAM role that the harness assumes when running. If not specified, the existing value is retained.

io_environment TYPE REF TO /AWS1/CL_BDOHARNENVPVDRREQUEST /AWS1/CL_BDOHARNENVPVDRREQUEST

The compute environment configuration for the harness. If not specified, the existing value is retained.

io_environmentartifact TYPE REF TO /AWS1/CL_BDOUPDDHARNENVARTFCT /AWS1/CL_BDOUPDDHARNENVARTFCT

The environment artifact for the harness. Use the optionalValue wrapper to set a new value, or set it to null to clear the existing configuration.

it_environmentvariables TYPE /AWS1/CL_BDOENVVARIABLESMAP_W=>TT_ENVIRONMENTVARIABLESMAP TT_ENVIRONMENTVARIABLESMAP

Environment variables to set in the harness runtime environment. If specified, this replaces all existing environment variables. If not specified, the existing value is retained.

io_authorizerconfiguration TYPE REF TO /AWS1/CL_BDOUPDATEDAUTHRCONF /AWS1/CL_BDOUPDATEDAUTHRCONF

Wrapper for updating an optional AuthorizerConfiguration field with PATCH semantics. When present in an update request, the authorizer configuration is replaced with optionalValue. When absent, the authorizer configuration is left unchanged. To unset, include the wrapper with optionalValue not specified.

io_model TYPE REF TO /AWS1/CL_BDOHARNESSMODELCONF /AWS1/CL_BDOHARNESSMODELCONF

The model configuration for the harness. If not specified, the existing value is retained.

it_systemprompt TYPE /AWS1/CL_BDOHARNSYSCONTBLOCK=>TT_HARNESSSYSTEMPROMPT TT_HARNESSSYSTEMPROMPT

The system prompt that defines the agent's behavior. If not specified, the existing value is retained.

it_tools TYPE /AWS1/CL_BDOHARNESSTOOL=>TT_HARNESSTOOLS TT_HARNESSTOOLS

The tools available to the agent. If specified, this replaces all existing tools. If not specified, the existing value is retained.

it_skills TYPE /AWS1/CL_BDOHARNESSSKILL=>TT_HARNESSSKILLS TT_HARNESSSKILLS

The skills available to the agent. If specified, this replaces all existing skills. If not specified, the existing value is retained.

it_allowedtools TYPE /AWS1/CL_BDOHARNESSALWDTOOLS_W=>TT_HARNESSALLOWEDTOOLS TT_HARNESSALLOWEDTOOLS

The tools that the agent is allowed to use. If specified, this replaces all existing allowed tools. If not specified, the existing value is retained.

io_memory TYPE REF TO /AWS1/CL_BDOUPDATEDHARNMEMCONF /AWS1/CL_BDOUPDATEDHARNMEMCONF

The AgentCore Memory configuration. Use the optionalValue wrapper to set a new value, or set it to null to clear the existing configuration.

io_truncation TYPE REF TO /AWS1/CL_BDOHARNESSTRNCTNCONF /AWS1/CL_BDOHARNESSTRNCTNCONF

The truncation configuration for managing conversation context. If not specified, the existing value is retained.

iv_maxiterations TYPE /AWS1/BDOINTEGER /AWS1/BDOINTEGER

The maximum number of iterations the agent loop can execute per invocation. If not specified, the existing value is retained.

iv_maxtokens TYPE /AWS1/BDOINTEGER /AWS1/BDOINTEGER

The maximum number of tokens the agent can generate per iteration. If not specified, the existing value is retained.

iv_timeoutseconds TYPE /AWS1/BDOINTEGER /AWS1/BDOINTEGER

The maximum duration in seconds for the agent loop execution per invocation. If not specified, the existing value is retained.

RETURNING

oo_output TYPE REF TO /aws1/cl_bdoupdateharnessrsp /AWS1/CL_BDOUPDATEHARNESSRSP

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->updateharness(
  io_authorizerconfiguration = new /aws1/cl_bdoupdatedauthrconf(
    io_optionalvalue = new /aws1/cl_bdoauthorizerconf(
      io_customjwtauthorizer = new /aws1/cl_bdocustomjwtauthrconf(
        it_allowedaudience = VALUE /aws1/cl_bdoalwedaudiencelst_w=>tt_allowedaudiencelist(
          ( new /aws1/cl_bdoalwedaudiencelst_w( |string| ) )
        )
        it_allowedclients = VALUE /aws1/cl_bdoallowedclislist_w=>tt_allowedclientslist(
          ( new /aws1/cl_bdoallowedclislist_w( |string| ) )
        )
        it_allowedscopes = VALUE /aws1/cl_bdoalwdscopestype_w=>tt_allowedscopestype(
          ( new /aws1/cl_bdoalwdscopestype_w( |string| ) )
        )
        it_customclaims = VALUE /aws1/cl_bdocustclaimvldtntype=>tt_customclaimvalidationstype(
          (
            new /aws1/cl_bdocustclaimvldtntype(
              io_authorizingclaimmatchval = new /aws1/cl_bdoauthorizingclaim00(
                io_claimmatchvalue = new /aws1/cl_bdoclaimmatchvaltype(
                  it_matchvaluestringlist = VALUE /aws1/cl_bdomatchvalstrlist_w=>tt_matchvaluestringlist(
                    ( new /aws1/cl_bdomatchvalstrlist_w( |string| ) )
                  )
                  iv_matchvaluestring = |string|
                )
                iv_claimmatchoperator = |string|
              )
              iv_inboundtokenclaimname = |string|
              iv_indbtokenclaimvaluetype = |string|
            )
          )
        )
        iv_discoveryurl = |string|
      )
    )
  )
  io_environment = new /aws1/cl_bdoharnenvpvdrrequest(
    io_agentcoreruntimeenv = new /aws1/cl_bdoharnagcorerunenv00(
      io_lifecycleconfiguration = new /aws1/cl_bdolifecycleconf(
        iv_idleruntimesessiontimeout = 123
        iv_maxlifetime = 123
      )
      io_networkconfiguration = new /aws1/cl_bdonetworkconf(
        io_networkmodeconfig = new /aws1/cl_bdovpcconfig(
          it_securitygroups = VALUE /aws1/cl_bdosecuritygroups_w=>tt_securitygroups(
            ( new /aws1/cl_bdosecuritygroups_w( |string| ) )
          )
          it_subnets = VALUE /aws1/cl_bdosubnets_w=>tt_subnets(
            ( new /aws1/cl_bdosubnets_w( |string| ) )
          )
        )
        iv_networkmode = |string|
      )
      it_filesystemconfigurations = VALUE /aws1/cl_bdofilesystemconf=>tt_filesystemconfigurations(
        ( new /aws1/cl_bdofilesystemconf( new /aws1/cl_bdosessionstorageconf( |string| ) ) )
      )
    )
  )
  io_environmentartifact = new /aws1/cl_bdoupddharnenvartfct( new /aws1/cl_bdoharnessenvartifact( new /aws1/cl_bdocontainerconf( |string| ) ) )
  io_memory = new /aws1/cl_bdoupdatedharnmemconf(
    io_optionalvalue = new /aws1/cl_bdoharnessmemoryconf(
      io_agentcorememoryconf = new /aws1/cl_bdoharnagcorememconf(
        it_retrievalconfig = VALUE /aws1/cl_bdoharnagcorememrtv00=>tt_harnagentcorememretrvlcfgs(
          (
            VALUE /aws1/cl_bdoharnagcorememrtv00=>ts_harnagcorememretrcfg_maprow(
              key = |string|
              value = new /aws1/cl_bdoharnagcorememrtv00(
                iv_relevancescore = '0.1'
                iv_strategyid = |string|
                iv_topk = 123
              )
            )
          )
        )
        iv_actorid = |string|
        iv_arn = |string|
        iv_messagescount = 123
      )
    )
  )
  io_model = new /aws1/cl_bdoharnessmodelconf(
    io_bedrockmodelconfig = new /aws1/cl_bdoharnbdrkmodelcfg(
      iv_maxtokens = 123
      iv_modelid = |string|
      iv_temperature = '0.1'
      iv_topp = '0.1'
    )
    io_geminimodelconfig = new /aws1/cl_bdoharngeminimodelcfg(
      iv_apikeyarn = |string|
      iv_maxtokens = 123
      iv_modelid = |string|
      iv_temperature = '0.1'
      iv_topk = 123
      iv_topp = '0.1'
    )
    io_openaimodelconfig = new /aws1/cl_bdoharnopenaimodelcfg(
      iv_apikeyarn = |string|
      iv_maxtokens = 123
      iv_modelid = |string|
      iv_temperature = '0.1'
      iv_topp = '0.1'
    )
  )
  io_truncation = new /aws1/cl_bdoharnesstrnctnconf(
    io_config = new /aws1/cl_bdoharntruncstgyconf(
      io_slidingwindow = new /aws1/cl_bdoharnsldngwndwconf( 123 )
      io_summarization = new /aws1/cl_bdoharnesssummconf(
        iv_preserverecentmessages = 123
        iv_summarizationsystemprompt = |string|
        iv_summaryratio = '0.1'
      )
    )
    iv_strategy = |string|
  )
  it_allowedtools = VALUE /aws1/cl_bdoharnessalwdtools_w=>tt_harnessallowedtools(
    ( new /aws1/cl_bdoharnessalwdtools_w( |string| ) )
  )
  it_environmentvariables = VALUE /aws1/cl_bdoenvvariablesmap_w=>tt_environmentvariablesmap(
    (
      VALUE /aws1/cl_bdoenvvariablesmap_w=>ts_envvariablesmap_maprow(
        key = |string|
        value = new /aws1/cl_bdoenvvariablesmap_w( |string| )
      )
    )
  )
  it_skills = VALUE /aws1/cl_bdoharnessskill=>tt_harnessskills(
    ( new /aws1/cl_bdoharnessskill( |string| ) )
  )
  it_systemprompt = VALUE /aws1/cl_bdoharnsyscontblock=>tt_harnesssystemprompt(
    ( new /aws1/cl_bdoharnsyscontblock( |string| ) )
  )
  it_tools = VALUE /aws1/cl_bdoharnesstool=>tt_harnesstools(
    (
      new /aws1/cl_bdoharnesstool(
        io_config = new /aws1/cl_bdoharnesstoolconf(
          io_agentcorebrowser = new /aws1/cl_bdoharnagentcorebrcfg( |string| )
          io_agentcorecodeinterpreter = new /aws1/cl_bdoharnagcorecodein00( |string| )
          io_agentcoregateway = new /aws1/cl_bdoharnagentcoregwcfg(
            io_outboundauth = new /aws1/cl_bdoharngwoutbndauth(
              io_awsiam = new /aws1/cl_bdounit( )
              io_none = new /aws1/cl_bdounit( )
              io_oauth = new /aws1/cl_bdooauthcredprovider(
                it_customparameters = VALUE /aws1/cl_bdooauthcustparams_w=>tt_oauthcustomparameters(
                  (
                    VALUE /aws1/cl_bdooauthcustparams_w=>ts_oauthcustomparams_maprow(
                      value = new /aws1/cl_bdooauthcustparams_w( |string| )
                      key = |string|
                    )
                  )
                )
                it_scopes = VALUE /aws1/cl_bdooauthscopes_w=>tt_oauthscopes(
                  ( new /aws1/cl_bdooauthscopes_w( |string| ) )
                )
                iv_defaultreturnurl = |string|
                iv_granttype = |string|
                iv_providerarn = |string|
              )
            )
            iv_gatewayarn = |string|
          )
          io_inlinefunction = new /aws1/cl_bdoharninlfuncconfig(
            io_inputschema = /AWS1/CL_RT_DOCUMENT=>FROM_JSON_STR( |\{"foo":"this is a JSON object..."\}| )
            iv_description = |string|
          )
          io_remotemcp = new /aws1/cl_bdoharnrmtmcpconfig(
            it_headers = VALUE /aws1/cl_bdohttpheadersmap_w=>tt_httpheadersmap(
              (
                VALUE /aws1/cl_bdohttpheadersmap_w=>ts_httpheadersmap_maprow(
                  key = |string|
                  value = new /aws1/cl_bdohttpheadersmap_w( |string| )
                )
              )
            )
            iv_url = |string|
          )
        )
        iv_name = |string|
        iv_type = |string|
      )
    )
  )
  iv_clienttoken = |string|
  iv_executionrolearn = |string|
  iv_harnessid = |string|
  iv_maxiterations = 123
  iv_maxtokens = 123
  iv_timeoutseconds = 123
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lo_harness = lo_result->get_harness( ).
  IF lo_harness IS NOT INITIAL.
    lv_harnessid = lo_harness->get_harnessid( ).
    lv_harnessname = lo_harness->get_harnessname( ).
    lv_harnessarn = lo_harness->get_arn( ).
    lv_harnessstatus = lo_harness->get_status( ).
    lv_rolearn = lo_harness->get_executionrolearn( ).
    lv_datetimestamp = lo_harness->get_createdat( ).
    lv_datetimestamp = lo_harness->get_updatedat( ).
    lo_harnessmodelconfigurati = lo_harness->get_model( ).
    IF lo_harnessmodelconfigurati IS NOT INITIAL.
      lo_harnessbedrockmodelconf = lo_harnessmodelconfigurati->get_bedrockmodelconfig( ).
      IF lo_harnessbedrockmodelconf IS NOT INITIAL.
        lv_modelid = lo_harnessbedrockmodelconf->get_modelid( ).
        lv_maxtokens = lo_harnessbedrockmodelconf->get_maxtokens( ).
        lv_temperature = lo_harnessbedrockmodelconf->get_temperature( ).
        lv_topp = lo_harnessbedrockmodelconf->get_topp( ).
      ENDIF.
      lo_harnessopenaimodelconfi = lo_harnessmodelconfigurati->get_openaimodelconfig( ).
      IF lo_harnessopenaimodelconfi IS NOT INITIAL.
        lv_modelid = lo_harnessopenaimodelconfi->get_modelid( ).
        lv_apikeyarn = lo_harnessopenaimodelconfi->get_apikeyarn( ).
        lv_maxtokens = lo_harnessopenaimodelconfi->get_maxtokens( ).
        lv_temperature = lo_harnessopenaimodelconfi->get_temperature( ).
        lv_topp = lo_harnessopenaimodelconfi->get_topp( ).
      ENDIF.
      lo_harnessgeminimodelconfi = lo_harnessmodelconfigurati->get_geminimodelconfig( ).
      IF lo_harnessgeminimodelconfi IS NOT INITIAL.
        lv_modelid = lo_harnessgeminimodelconfi->get_modelid( ).
        lv_apikeyarn = lo_harnessgeminimodelconfi->get_apikeyarn( ).
        lv_maxtokens = lo_harnessgeminimodelconfi->get_maxtokens( ).
        lv_temperature = lo_harnessgeminimodelconfi->get_temperature( ).
        lv_topp = lo_harnessgeminimodelconfi->get_topp( ).
        lv_topk = lo_harnessgeminimodelconfi->get_topk( ).
      ENDIF.
    ENDIF.
    LOOP AT lo_harness->get_systemprompt( ) into lo_row.
      lo_row_1 = lo_row.
      IF lo_row_1 IS NOT INITIAL.
        lv_sensitivetext = lo_row_1->get_text( ).
      ENDIF.
    ENDLOOP.
    LOOP AT lo_harness->get_tools( ) into lo_row_2.
      lo_row_3 = lo_row_2.
      IF lo_row_3 IS NOT INITIAL.
        lv_harnesstooltype = lo_row_3->get_type( ).
        lv_harnesstoolname = lo_row_3->get_name( ).
        lo_harnesstoolconfiguratio = lo_row_3->get_config( ).
        IF lo_harnesstoolconfiguratio IS NOT INITIAL.
          lo_harnessremotemcpconfig = lo_harnesstoolconfiguratio->get_remotemcp( ).
          IF lo_harnessremotemcpconfig IS NOT INITIAL.
            lv_harnessremotemcpurl = lo_harnessremotemcpconfig->get_url( ).
            LOOP AT lo_harnessremotemcpconfig->get_headers( ) into ls_row_4.
              lv_key = ls_row_4-key.
              lo_value = ls_row_4-value.
              IF lo_value IS NOT INITIAL.
                lv_httpheadervalue = lo_value->get_value( ).
              ENDIF.
            ENDLOOP.
          ENDIF.
          lo_harnessagentcorebrowser = lo_harnesstoolconfiguratio->get_agentcorebrowser( ).
          IF lo_harnessagentcorebrowser IS NOT INITIAL.
            lv_browserarn = lo_harnessagentcorebrowser->get_browserarn( ).
          ENDIF.
          lo_harnessagentcoregateway = lo_harnesstoolconfiguratio->get_agentcoregateway( ).
          IF lo_harnessagentcoregateway IS NOT INITIAL.
            lv_gatewayarn = lo_harnessagentcoregateway->get_gatewayarn( ).
            lo_harnessgatewayoutbounda = lo_harnessagentcoregateway->get_outboundauth( ).
            IF lo_harnessgatewayoutbounda IS NOT INITIAL.
              lo_unit = lo_harnessgatewayoutbounda->get_awsiam( ).
              IF lo_unit IS NOT INITIAL.
              ENDIF.
              lo_unit = lo_harnessgatewayoutbounda->get_none( ).
              IF lo_unit IS NOT INITIAL.
              ENDIF.
              lo_oauthcredentialprovider = lo_harnessgatewayoutbounda->get_oauth( ).
              IF lo_oauthcredentialprovider IS NOT INITIAL.
                lv_oauthcredentialprovider_1 = lo_oauthcredentialprovider->get_providerarn( ).
                LOOP AT lo_oauthcredentialprovider->get_scopes( ) into lo_row_5.
                  lo_row_6 = lo_row_5.
                  IF lo_row_6 IS NOT INITIAL.
                    lv_oauthscope = lo_row_6->get_value( ).
                  ENDIF.
                ENDLOOP.
                LOOP AT lo_oauthcredentialprovider->get_customparameters( ) 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_oauthcustomparametersva = lo_value_1->get_value( ).
                  ENDIF.
                ENDLOOP.
                lv_oauthgranttype = lo_oauthcredentialprovider->get_granttype( ).
                lv_oauthdefaultreturnurl = lo_oauthcredentialprovider->get_defaultreturnurl( ).
              ENDIF.
            ENDIF.
          ENDIF.
          lo_harnessinlinefunctionco = lo_harnesstoolconfiguratio->get_inlinefunction( ).
          IF lo_harnessinlinefunctionco IS NOT INITIAL.
            lv_harnessinlinefunctionde = lo_harnessinlinefunctionco->get_description( ).
            lo_value_2 = lo_harnessinlinefunctionco->get_inputschema( ).
            IF lo_value_2 IS NOT INITIAL.
            ENDIF.
          ENDIF.
          lo_harnessagentcorecodeint = lo_harnesstoolconfiguratio->get_agentcorecodeinterpreter( ).
          IF lo_harnessagentcorecodeint IS NOT INITIAL.
            lv_codeinterpreterarn = lo_harnessagentcorecodeint->get_codeinterpreterarn( ).
          ENDIF.
        ENDIF.
      ENDIF.
    ENDLOOP.
    LOOP AT lo_harness->get_skills( ) into lo_row_8.
      lo_row_9 = lo_row_8.
      IF lo_row_9 IS NOT INITIAL.
        lv_harnessskillpath = lo_row_9->get_path( ).
      ENDIF.
    ENDLOOP.
    LOOP AT lo_harness->get_allowedtools( ) into lo_row_10.
      lo_row_11 = lo_row_10.
      IF lo_row_11 IS NOT INITIAL.
        lv_harnessallowedtool = lo_row_11->get_value( ).
      ENDIF.
    ENDLOOP.
    lo_harnesstruncationconfig = lo_harness->get_truncation( ).
    IF lo_harnesstruncationconfig IS NOT INITIAL.
      lv_harnesstruncationstrate = lo_harnesstruncationconfig->get_strategy( ).
      lo_harnesstruncationstrate_1 = lo_harnesstruncationconfig->get_config( ).
      IF lo_harnesstruncationstrate_1 IS NOT INITIAL.
        lo_harnessslidingwindowcon = lo_harnesstruncationstrate_1->get_slidingwindow( ).
        IF lo_harnessslidingwindowcon IS NOT INITIAL.
          lv_integer = lo_harnessslidingwindowcon->get_messagescount( ).
        ENDIF.
        lo_harnesssummarizationcon = lo_harnesstruncationstrate_1->get_summarization( ).
        IF lo_harnesssummarizationcon IS NOT INITIAL.
          lv_float = lo_harnesssummarizationcon->get_summaryratio( ).
          lv_integer = lo_harnesssummarizationcon->get_preserverecentmessages( ).
          lv_string = lo_harnesssummarizationcon->get_summsystemprompt( ).
        ENDIF.
      ENDIF.
    ENDIF.
    lo_harnessenvironmentprovi = lo_harness->get_environment( ).
    IF lo_harnessenvironmentprovi IS NOT INITIAL.
      lo_harnessagentcoreruntime = lo_harnessenvironmentprovi->get_agentcoreruntimeenv( ).
      IF lo_harnessagentcoreruntime IS NOT INITIAL.
        lv_bedrockagentcoreresourc = lo_harnessagentcoreruntime->get_agentruntimearn( ).
        lv_string = lo_harnessagentcoreruntime->get_agentruntimename( ).
        lv_string = lo_harnessagentcoreruntime->get_agentruntimeid( ).
        lo_lifecycleconfiguration = lo_harnessagentcoreruntime->get_lifecycleconfiguration( ).
        IF lo_lifecycleconfiguration IS NOT INITIAL.
          lv_integer = lo_lifecycleconfiguration->get_idleruntimesesstimeout( ).
          lv_integer = lo_lifecycleconfiguration->get_maxlifetime( ).
        ENDIF.
        lo_networkconfiguration = lo_harnessagentcoreruntime->get_networkconfiguration( ).
        IF lo_networkconfiguration IS NOT INITIAL.
          lv_networkmode = lo_networkconfiguration->get_networkmode( ).
          lo_vpcconfig = lo_networkconfiguration->get_networkmodeconfig( ).
          IF lo_vpcconfig IS NOT INITIAL.
            LOOP AT lo_vpcconfig->get_securitygroups( ) into lo_row_12.
              lo_row_13 = lo_row_12.
              IF lo_row_13 IS NOT INITIAL.
                lv_securitygroupid = lo_row_13->get_value( ).
              ENDIF.
            ENDLOOP.
            LOOP AT lo_vpcconfig->get_subnets( ) into lo_row_14.
              lo_row_15 = lo_row_14.
              IF lo_row_15 IS NOT INITIAL.
                lv_subnetid = lo_row_15->get_value( ).
              ENDIF.
            ENDLOOP.
          ENDIF.
        ENDIF.
        LOOP AT lo_harnessagentcoreruntime->get_filesystemconfigurations( ) into lo_row_16.
          lo_row_17 = lo_row_16.
          IF lo_row_17 IS NOT INITIAL.
            lo_sessionstorageconfigura = lo_row_17->get_sessionstorage( ).
            IF lo_sessionstorageconfigura IS NOT INITIAL.
              lv_mountpath = lo_sessionstorageconfigura->get_mountpath( ).
            ENDIF.
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDIF.
    lo_harnessenvironmentartif = lo_harness->get_environmentartifact( ).
    IF lo_harnessenvironmentartif IS NOT INITIAL.
      lo_containerconfiguration = lo_harnessenvironmentartif->get_containerconfiguration( ).
      IF lo_containerconfiguration IS NOT INITIAL.
        lv_runtimecontaineruri = lo_containerconfiguration->get_containeruri( ).
      ENDIF.
    ENDIF.
    LOOP AT lo_harness->get_environmentvariables( ) into ls_row_18.
      lv_key_2 = ls_row_18-key.
      lo_value_3 = ls_row_18-value.
      IF lo_value_3 IS NOT INITIAL.
        lv_environmentvariablevalu = lo_value_3->get_value( ).
      ENDIF.
    ENDLOOP.
    lo_authorizerconfiguration = lo_harness->get_authorizerconfiguration( ).
    IF lo_authorizerconfiguration IS NOT INITIAL.
      lo_customjwtauthorizerconf = lo_authorizerconfiguration->get_customjwtauthorizer( ).
      IF lo_customjwtauthorizerconf IS NOT INITIAL.
        lv_discoveryurl = lo_customjwtauthorizerconf->get_discoveryurl( ).
        LOOP AT lo_customjwtauthorizerconf->get_allowedaudience( ) into lo_row_19.
          lo_row_20 = lo_row_19.
          IF lo_row_20 IS NOT INITIAL.
            lv_allowedaudience = lo_row_20->get_value( ).
          ENDIF.
        ENDLOOP.
        LOOP AT lo_customjwtauthorizerconf->get_allowedclients( ) into lo_row_21.
          lo_row_22 = lo_row_21.
          IF lo_row_22 IS NOT INITIAL.
            lv_allowedclient = lo_row_22->get_value( ).
          ENDIF.
        ENDLOOP.
        LOOP AT lo_customjwtauthorizerconf->get_allowedscopes( ) into lo_row_23.
          lo_row_24 = lo_row_23.
          IF lo_row_24 IS NOT INITIAL.
            lv_allowedscopetype = lo_row_24->get_value( ).
          ENDIF.
        ENDLOOP.
        LOOP AT lo_customjwtauthorizerconf->get_customclaims( ) into lo_row_25.
          lo_row_26 = lo_row_25.
          IF lo_row_26 IS NOT INITIAL.
            lv_inboundtokenclaimnamety = lo_row_26->get_inboundtokenclaimname( ).
            lv_inboundtokenclaimvaluet = lo_row_26->get_indbtokenclaimvaluetype( ).
            lo_authorizingclaimmatchva = lo_row_26->get_authorizingclaimmatchval( ).
            IF lo_authorizingclaimmatchva IS NOT INITIAL.
              lo_claimmatchvaluetype = lo_authorizingclaimmatchva->get_claimmatchvalue( ).
              IF lo_claimmatchvaluetype IS NOT INITIAL.
                lv_matchvaluestring = lo_claimmatchvaluetype->get_matchvaluestring( ).
                LOOP AT lo_claimmatchvaluetype->get_matchvaluestringlist( ) into lo_row_27.
                  lo_row_28 = lo_row_27.
                  IF lo_row_28 IS NOT INITIAL.
                    lv_matchvaluestring = lo_row_28->get_value( ).
                  ENDIF.
                ENDLOOP.
              ENDIF.
              lv_claimmatchoperatortype = lo_authorizingclaimmatchva->get_claimmatchoperator( ).
            ENDIF.
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDIF.
    lo_harnessmemoryconfigurat = lo_harness->get_memory( ).
    IF lo_harnessmemoryconfigurat IS NOT INITIAL.
      lo_harnessagentcorememoryc = lo_harnessmemoryconfigurat->get_agentcorememoryconf( ).
      IF lo_harnessagentcorememoryc IS NOT INITIAL.
        lv_memoryarn = lo_harnessagentcorememoryc->get_arn( ).
        lv_string = lo_harnessagentcorememoryc->get_actorid( ).
        lv_integer = lo_harnessagentcorememoryc->get_messagescount( ).
        LOOP AT lo_harnessagentcorememoryc->get_retrievalconfig( ) into ls_row_29.
          lv_key_3 = ls_row_29-key.
          lo_value_4 = ls_row_29-value.
          IF lo_value_4 IS NOT INITIAL.
            lv_integer = lo_value_4->get_topk( ).
            lv_float = lo_value_4->get_relevancescore( ).
            lv_string = lo_value_4->get_strategyid( ).
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDIF.
    lv_integer = lo_harness->get_maxiterations( ).
    lv_integer = lo_harness->get_maxtokens( ).
    lv_integer = lo_harness->get_timeoutseconds( ).
    lv_string = lo_harness->get_failurereason( ).
  ENDIF.
ENDIF.