/AWS1/IF_BDO=>CREATEHARNESS()¶
About CreateHarness¶
Operation to create a Harness.
Method Signature¶
METHODS /AWS1/IF_BDO~CREATEHARNESS
IMPORTING
!IV_HARNESSNAME TYPE /AWS1/BDOHARNESSNAME 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_BDOHARNESSENVARTIFACT OPTIONAL
!IT_ENVIRONMENTVARIABLES TYPE /AWS1/CL_BDOENVVARIABLESMAP_W=>TT_ENVIRONMENTVARIABLESMAP OPTIONAL
!IO_AUTHORIZERCONFIGURATION TYPE REF TO /AWS1/CL_BDOAUTHORIZERCONF 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_BDOHARNESSMEMORYCONF 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
!IT_TAGS TYPE /AWS1/CL_BDOTAGSMAP_W=>TT_TAGSMAP OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_bdocreateharnessrsp
RAISING
/AWS1/CX_BDOACCESSDENIEDEX
/AWS1/CX_BDOCONFLICTEXCEPTION
/AWS1/CX_BDOINTERNALSERVEREX
/AWS1/CX_BDOSERVICEQUOTAEXCDEX
/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_harnessname TYPE /AWS1/BDOHARNESSNAME /AWS1/BDOHARNESSNAME¶
The name of the harness. Must start with a letter and contain only alphanumeric characters and underscores.
iv_executionrolearn TYPE /AWS1/BDOROLEARN /AWS1/BDOROLEARN¶
The ARN of the IAM role that the harness assumes when running. This role must have permissions for the services the agent needs to access, such as Amazon Bedrock for model invocation.
Optional arguments:¶
iv_clienttoken TYPE /AWS1/BDOCLIENTTOKEN /AWS1/BDOCLIENTTOKEN¶
A unique, case-sensitive identifier to ensure idempotency of the request.
io_environment TYPE REF TO /AWS1/CL_BDOHARNENVPVDRREQUEST /AWS1/CL_BDOHARNENVPVDRREQUEST¶
The compute environment configuration for the harness, including network and lifecycle settings.
io_environmentartifact TYPE REF TO /AWS1/CL_BDOHARNESSENVARTIFACT /AWS1/CL_BDOHARNESSENVARTIFACT¶
The environment artifact for the harness, such as a custom container image containing additional dependencies.
it_environmentvariables TYPE /AWS1/CL_BDOENVVARIABLESMAP_W=>TT_ENVIRONMENTVARIABLESMAP TT_ENVIRONMENTVARIABLESMAP¶
Environment variables to set in the harness runtime environment.
io_authorizerconfiguration TYPE REF TO /AWS1/CL_BDOAUTHORIZERCONF /AWS1/CL_BDOAUTHORIZERCONF¶
Represents inbound authorization configuration options used to authenticate incoming requests.
io_model TYPE REF TO /AWS1/CL_BDOHARNESSMODELCONF /AWS1/CL_BDOHARNESSMODELCONF¶
The model configuration for the harness. Supports Amazon Bedrock, OpenAI, and Google Gemini model providers.
it_systemprompt TYPE /AWS1/CL_BDOHARNSYSCONTBLOCK=>TT_HARNESSSYSTEMPROMPT TT_HARNESSSYSTEMPROMPT¶
The system prompt that defines the agent's behavior and instructions.
it_tools TYPE /AWS1/CL_BDOHARNESSTOOL=>TT_HARNESSTOOLS TT_HARNESSTOOLS¶
The tools available to the agent, such as remote MCP servers, AgentCore Gateway, AgentCore Browser, Code Interpreter, or inline functions.
it_skills TYPE /AWS1/CL_BDOHARNESSSKILL=>TT_HARNESSSKILLS TT_HARNESSSKILLS¶
The skills available to the agent. Skills are bundles of files that the agent can pull into its context on demand.
it_allowedtools TYPE /AWS1/CL_BDOHARNESSALWDTOOLS_W=>TT_HARNESSALLOWEDTOOLS TT_HARNESSALLOWEDTOOLS¶
The tools that the agent is allowed to use. Supports glob patterns such as * for all tools, @builtin for all built-in tools, or @serverName/toolName for specific MCP server tools.
io_memory TYPE REF TO /AWS1/CL_BDOHARNESSMEMORYCONF /AWS1/CL_BDOHARNESSMEMORYCONF¶
The AgentCore Memory configuration for persisting conversation context across sessions.
io_truncation TYPE REF TO /AWS1/CL_BDOHARNESSTRNCTNCONF /AWS1/CL_BDOHARNESSTRNCTNCONF¶
The truncation configuration for managing conversation context when it exceeds model limits.
iv_maxiterations TYPE /AWS1/BDOINTEGER /AWS1/BDOINTEGER¶
The maximum number of iterations the agent loop can execute per invocation.
iv_maxtokens TYPE /AWS1/BDOINTEGER /AWS1/BDOINTEGER¶
The maximum number of tokens the agent can generate per iteration.
iv_timeoutseconds TYPE /AWS1/BDOINTEGER /AWS1/BDOINTEGER¶
The maximum duration in seconds for the agent loop execution per invocation.
it_tags TYPE /AWS1/CL_BDOTAGSMAP_W=>TT_TAGSMAP TT_TAGSMAP¶
Tags to apply to the harness resource.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_bdocreateharnessrsp /AWS1/CL_BDOCREATEHARNESSRSP¶
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->createharness(
io_authorizerconfiguration = 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_bdoharnessenvartifact( new /aws1/cl_bdocontainerconf( |string| ) )
io_memory = 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(
value = new /aws1/cl_bdoenvvariablesmap_w( |string| )
key = |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_tags = VALUE /aws1/cl_bdotagsmap_w=>tt_tagsmap(
(
VALUE /aws1/cl_bdotagsmap_w=>ts_tagsmap_maprow(
key = |string|
value = new /aws1/cl_bdotagsmap_w( |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(
value = new /aws1/cl_bdohttpheadersmap_w( |string| )
key = |string|
)
)
)
iv_url = |string|
)
)
iv_name = |string|
iv_type = |string|
)
)
)
iv_clienttoken = |string|
iv_executionrolearn = |string|
iv_harnessname = |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.