/AWS1/IF_BDO=>SYNCHRONIZEGATEWAYTARGETS()¶
About SynchronizeGatewayTargets¶
Synchronizes the gateway targets by fetching the latest tool definitions from the target endpoints.
You cannot synchronize a target that is in a pending authorization state (CREATE_PENDING_AUTH, UPDATE_PENDING_AUTH, or SYNCHRONIZE_PENDING_AUTH). Wait for the authorization to complete or fail before synchronizing.
You cannot synchronize a target that has a static tool schema (mcpToolSchema) configured. Remove the static schema through an UpdateGatewayTarget call to enable dynamic tool synchronization.
Method Signature¶
METHODS /AWS1/IF_BDO~SYNCHRONIZEGATEWAYTARGETS
IMPORTING
!IV_GATEWAYIDENTIFIER TYPE /AWS1/BDOGATEWAYIDENTIFIER OPTIONAL
!IT_TARGETIDLIST TYPE /AWS1/CL_BDOTARGETIDLIST_W=>TT_TARGETIDLIST OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_bdosynchronizegwtgt01
RAISING
/AWS1/CX_BDOACCESSDENIEDEX
/AWS1/CX_BDOCONFLICTEXCEPTION
/AWS1/CX_BDOINTERNALSERVEREX
/AWS1/CX_BDORESOURCENOTFOUNDEX
/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_gatewayidentifier TYPE /AWS1/BDOGATEWAYIDENTIFIER /AWS1/BDOGATEWAYIDENTIFIER¶
The gateway Identifier.
it_targetidlist TYPE /AWS1/CL_BDOTARGETIDLIST_W=>TT_TARGETIDLIST TT_TARGETIDLIST¶
The target ID list.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_bdosynchronizegwtgt01 /AWS1/CL_BDOSYNCHRONIZEGWTGT01¶
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->synchronizegatewaytargets(
it_targetidlist = VALUE /aws1/cl_bdotargetidlist_w=>tt_targetidlist(
( new /aws1/cl_bdotargetidlist_w( |string| ) )
)
iv_gatewayidentifier = |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_targets( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_gatewayarn = lo_row_1->get_gatewayarn( ).
lv_targetid = lo_row_1->get_targetid( ).
lv_datetimestamp = lo_row_1->get_createdat( ).
lv_datetimestamp = lo_row_1->get_updatedat( ).
lv_targetstatus = lo_row_1->get_status( ).
LOOP AT lo_row_1->get_statusreasons( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_statusreason = lo_row_3->get_value( ).
ENDIF.
ENDLOOP.
lv_targetname = lo_row_1->get_name( ).
lv_targetdescription = lo_row_1->get_description( ).
lo_targetconfiguration = lo_row_1->get_targetconfiguration( ).
IF lo_targetconfiguration IS NOT INITIAL.
lo_mcptargetconfiguration = lo_targetconfiguration->get_mcp( ).
IF lo_mcptargetconfiguration IS NOT INITIAL.
lo_apischemaconfiguration = lo_mcptargetconfiguration->get_openapischema( ).
IF lo_apischemaconfiguration IS NOT INITIAL.
lo_s3configuration = lo_apischemaconfiguration->get_s3( ).
IF lo_s3configuration IS NOT INITIAL.
lv_s3bucketuri = lo_s3configuration->get_uri( ).
lv_awsaccountid = lo_s3configuration->get_bucketowneraccountid( ).
ENDIF.
lv_inlinepayload = lo_apischemaconfiguration->get_inlinepayload( ).
ENDIF.
lo_apischemaconfiguration = lo_mcptargetconfiguration->get_smithymodel( ).
IF lo_apischemaconfiguration IS NOT INITIAL.
lo_s3configuration = lo_apischemaconfiguration->get_s3( ).
IF lo_s3configuration IS NOT INITIAL.
lv_s3bucketuri = lo_s3configuration->get_uri( ).
lv_awsaccountid = lo_s3configuration->get_bucketowneraccountid( ).
ENDIF.
lv_inlinepayload = lo_apischemaconfiguration->get_inlinepayload( ).
ENDIF.
lo_mcplambdatargetconfigur = lo_mcptargetconfiguration->get_lambda( ).
IF lo_mcplambdatargetconfigur IS NOT INITIAL.
lv_lambdafunctionarn = lo_mcplambdatargetconfigur->get_lambdaarn( ).
lo_toolschema = lo_mcplambdatargetconfigur->get_toolschema( ).
IF lo_toolschema IS NOT INITIAL.
lo_s3configuration = lo_toolschema->get_s3( ).
IF lo_s3configuration IS NOT INITIAL.
lv_s3bucketuri = lo_s3configuration->get_uri( ).
lv_awsaccountid = lo_s3configuration->get_bucketowneraccountid( ).
ENDIF.
LOOP AT lo_toolschema->get_inlinepayload( ) into lo_row_4.
lo_row_5 = lo_row_4.
IF lo_row_5 IS NOT INITIAL.
lv_string = lo_row_5->get_name( ).
lv_string = lo_row_5->get_description( ).
lo_schemadefinition = lo_row_5->get_inputschema( ).
IF lo_schemadefinition IS NOT INITIAL.
lv_schematype = lo_schemadefinition->get_type( ).
LOOP AT lo_schemadefinition->get_properties( ) into ls_row_6.
lv_key = ls_row_6-key.
lo_value = ls_row_6-value.
IF lo_value IS NOT INITIAL.
lv_schematype = lo_value->get_type( ).
" Skipping ls_row_6-value to avoid recursion
LOOP AT lo_value->get_required( ) into lo_row_7.
lo_row_8 = lo_row_7.
IF lo_row_8 IS NOT INITIAL.
lv_string = lo_row_8->get_value( ).
ENDIF.
ENDLOOP.
lo_schemadefinition_1 = lo_value->get_items( ).
IF lo_schemadefinition_1 IS NOT INITIAL.
lv_schematype = lo_schemadefinition_1->get_type( ).
" Skipping lo_value->get_items( ) to avoid recursion
LOOP AT lo_schemadefinition_1->get_required( ) into lo_row_7.
lo_row_8 = lo_row_7.
IF lo_row_8 IS NOT INITIAL.
lv_string = lo_row_8->get_value( ).
ENDIF.
ENDLOOP.
" Skipping lo_value->get_items( ) to avoid recursion
lv_string = lo_schemadefinition_1->get_description( ).
ENDIF.
lv_string = lo_value->get_description( ).
ENDIF.
ENDLOOP.
LOOP AT lo_schemadefinition->get_required( ) into lo_row_7.
lo_row_8 = lo_row_7.
IF lo_row_8 IS NOT INITIAL.
lv_string = lo_row_8->get_value( ).
ENDIF.
ENDLOOP.
lo_schemadefinition_1 = lo_schemadefinition->get_items( ).
IF lo_schemadefinition_1 IS NOT INITIAL.
lv_schematype = lo_schemadefinition_1->get_type( ).
LOOP AT lo_schemadefinition_1->get_properties( ) into ls_row_6.
lv_key = ls_row_6-key.
lo_value = ls_row_6-value.
IF lo_value IS NOT INITIAL.
lv_schematype = lo_value->get_type( ).
" Skipping ls_row_6-value to avoid recursion
LOOP AT lo_value->get_required( ) into lo_row_7.
lo_row_8 = lo_row_7.
IF lo_row_8 IS NOT INITIAL.
lv_string = lo_row_8->get_value( ).
ENDIF.
ENDLOOP.
" Skipping ls_row_6-value to avoid recursion
lv_string = lo_value->get_description( ).
ENDIF.
ENDLOOP.
LOOP AT lo_schemadefinition_1->get_required( ) into lo_row_7.
lo_row_8 = lo_row_7.
IF lo_row_8 IS NOT INITIAL.
lv_string = lo_row_8->get_value( ).
ENDIF.
ENDLOOP.
" Skipping lo_schemadefinition->get_items( ) to avoid recursion
lv_string = lo_schemadefinition_1->get_description( ).
ENDIF.
lv_string = lo_schemadefinition->get_description( ).
ENDIF.
lo_schemadefinition = lo_row_5->get_outputschema( ).
IF lo_schemadefinition IS NOT INITIAL.
lv_schematype = lo_schemadefinition->get_type( ).
LOOP AT lo_schemadefinition->get_properties( ) into ls_row_6.
lv_key = ls_row_6-key.
lo_value = ls_row_6-value.
IF lo_value IS NOT INITIAL.
lv_schematype = lo_value->get_type( ).
" Skipping ls_row_6-value to avoid recursion
LOOP AT lo_value->get_required( ) into lo_row_7.
lo_row_8 = lo_row_7.
IF lo_row_8 IS NOT INITIAL.
lv_string = lo_row_8->get_value( ).
ENDIF.
ENDLOOP.
lo_schemadefinition_1 = lo_value->get_items( ).
IF lo_schemadefinition_1 IS NOT INITIAL.
lv_schematype = lo_schemadefinition_1->get_type( ).
" Skipping lo_value->get_items( ) to avoid recursion
LOOP AT lo_schemadefinition_1->get_required( ) into lo_row_7.
lo_row_8 = lo_row_7.
IF lo_row_8 IS NOT INITIAL.
lv_string = lo_row_8->get_value( ).
ENDIF.
ENDLOOP.
" Skipping lo_value->get_items( ) to avoid recursion
lv_string = lo_schemadefinition_1->get_description( ).
ENDIF.
lv_string = lo_value->get_description( ).
ENDIF.
ENDLOOP.
LOOP AT lo_schemadefinition->get_required( ) into lo_row_7.
lo_row_8 = lo_row_7.
IF lo_row_8 IS NOT INITIAL.
lv_string = lo_row_8->get_value( ).
ENDIF.
ENDLOOP.
lo_schemadefinition_1 = lo_schemadefinition->get_items( ).
IF lo_schemadefinition_1 IS NOT INITIAL.
lv_schematype = lo_schemadefinition_1->get_type( ).
LOOP AT lo_schemadefinition_1->get_properties( ) into ls_row_6.
lv_key = ls_row_6-key.
lo_value = ls_row_6-value.
IF lo_value IS NOT INITIAL.
lv_schematype = lo_value->get_type( ).
" Skipping ls_row_6-value to avoid recursion
LOOP AT lo_value->get_required( ) into lo_row_7.
lo_row_8 = lo_row_7.
IF lo_row_8 IS NOT INITIAL.
lv_string = lo_row_8->get_value( ).
ENDIF.
ENDLOOP.
" Skipping ls_row_6-value to avoid recursion
lv_string = lo_value->get_description( ).
ENDIF.
ENDLOOP.
LOOP AT lo_schemadefinition_1->get_required( ) into lo_row_7.
lo_row_8 = lo_row_7.
IF lo_row_8 IS NOT INITIAL.
lv_string = lo_row_8->get_value( ).
ENDIF.
ENDLOOP.
" Skipping lo_schemadefinition->get_items( ) to avoid recursion
lv_string = lo_schemadefinition_1->get_description( ).
ENDIF.
lv_string = lo_schemadefinition->get_description( ).
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
lo_mcpservertargetconfigur = lo_mcptargetconfiguration->get_mcpserver( ).
IF lo_mcpservertargetconfigur IS NOT INITIAL.
lv_string = lo_mcpservertargetconfigur->get_endpoint( ).
lo_mcptoolschemaconfigurat = lo_mcpservertargetconfigur->get_mcptoolschema( ).
IF lo_mcptoolschemaconfigurat IS NOT INITIAL.
lo_s3configuration = lo_mcptoolschemaconfigurat->get_s3( ).
IF lo_s3configuration IS NOT INITIAL.
lv_s3bucketuri = lo_s3configuration->get_uri( ).
lv_awsaccountid = lo_s3configuration->get_bucketowneraccountid( ).
ENDIF.
lv_inlinepayload = lo_mcptoolschemaconfigurat->get_inlinepayload( ).
ENDIF.
lv_listingmode = lo_mcpservertargetconfigur->get_listingmode( ).
ENDIF.
lo_apigatewaytargetconfigu = lo_mcptargetconfiguration->get_apigateway( ).
IF lo_apigatewaytargetconfigu IS NOT INITIAL.
lv_string = lo_apigatewaytargetconfigu->get_restapiid( ).
lv_string = lo_apigatewaytargetconfigu->get_stage( ).
lo_apigatewaytoolconfigura = lo_apigatewaytargetconfigu->get_apigatewaytoolconf( ).
IF lo_apigatewaytoolconfigura IS NOT INITIAL.
LOOP AT lo_apigatewaytoolconfigura->get_tooloverrides( ) into lo_row_9.
lo_row_10 = lo_row_9.
IF lo_row_10 IS NOT INITIAL.
lv_string = lo_row_10->get_name( ).
lv_string = lo_row_10->get_description( ).
lv_string = lo_row_10->get_path( ).
lv_restapimethod = lo_row_10->get_method( ).
ENDIF.
ENDLOOP.
LOOP AT lo_apigatewaytoolconfigura->get_toolfilters( ) into lo_row_11.
lo_row_12 = lo_row_11.
IF lo_row_12 IS NOT INITIAL.
lv_string = lo_row_12->get_filterpath( ).
LOOP AT lo_row_12->get_methods( ) into lo_row_13.
lo_row_14 = lo_row_13.
IF lo_row_14 IS NOT INITIAL.
lv_restapimethod = lo_row_14->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
LOOP AT lo_row_1->get_credentialproviderconfs( ) into lo_row_15.
lo_row_16 = lo_row_15.
IF lo_row_16 IS NOT INITIAL.
lv_credentialprovidertype = lo_row_16->get_credentialprovidertype( ).
lo_credentialprovider = lo_row_16->get_credentialprovider( ).
IF lo_credentialprovider IS NOT INITIAL.
lo_oauthcredentialprovider = lo_credentialprovider->get_oauthcredentialprovider( ).
IF lo_oauthcredentialprovider IS NOT INITIAL.
lv_oauthcredentialprovider_1 = lo_oauthcredentialprovider->get_providerarn( ).
LOOP AT lo_oauthcredentialprovider->get_scopes( ) into lo_row_17.
lo_row_18 = lo_row_17.
IF lo_row_18 IS NOT INITIAL.
lv_oauthscope = lo_row_18->get_value( ).
ENDIF.
ENDLOOP.
LOOP AT lo_oauthcredentialprovider->get_customparameters( ) into ls_row_19.
lv_key_1 = ls_row_19-key.
lo_value_1 = ls_row_19-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.
lo_gatewayapikeycredential = lo_credentialprovider->get_apikeycredentialprovider( ).
IF lo_gatewayapikeycredential IS NOT INITIAL.
lv_apikeycredentialprovide = lo_gatewayapikeycredential->get_providerarn( ).
lv_apikeycredentialparamet = lo_gatewayapikeycredential->get_credentialparametername( ).
lv_apikeycredentialprefix = lo_gatewayapikeycredential->get_credentialprefix( ).
lv_apikeycredentiallocatio = lo_gatewayapikeycredential->get_credentiallocation( ).
ENDIF.
lo_iamcredentialprovider = lo_credentialprovider->get_iamcredentialprovider( ).
IF lo_iamcredentialprovider IS NOT INITIAL.
lv_string = lo_iamcredentialprovider->get_service( ).
lv_string = lo_iamcredentialprovider->get_region( ).
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
lv_datetimestamp = lo_row_1->get_lastsynchronizedat( ).
lo_metadataconfiguration = lo_row_1->get_metadataconfiguration( ).
IF lo_metadataconfiguration IS NOT INITIAL.
LOOP AT lo_metadataconfiguration->get_allowedrequestheaders( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_httpheadername = lo_row_21->get_value( ).
ENDIF.
ENDLOOP.
LOOP AT lo_metadataconfiguration->get_allowedqueryparameters( ) into lo_row_22.
lo_row_23 = lo_row_22.
IF lo_row_23 IS NOT INITIAL.
lv_httpqueryparametername = lo_row_23->get_value( ).
ENDIF.
ENDLOOP.
LOOP AT lo_metadataconfiguration->get_allowedresponseheaders( ) into lo_row_24.
lo_row_25 = lo_row_24.
IF lo_row_25 IS NOT INITIAL.
lv_httpheadername = lo_row_25->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.
lo_privateendpoint = lo_row_1->get_privateendpoint( ).
IF lo_privateendpoint IS NOT INITIAL.
lo_selfmanagedlatticeresou = lo_privateendpoint->get_selfmanagedlatticeres( ).
IF lo_selfmanagedlatticeresou IS NOT INITIAL.
lv_resourceconfigurationid = lo_selfmanagedlatticeresou->get_resourceconfidentifier( ).
ENDIF.
lo_managedlatticeresource = lo_privateendpoint->get_managedlatticeresource( ).
IF lo_managedlatticeresource IS NOT INITIAL.
lv_vpcidentifier = lo_managedlatticeresource->get_vpcidentifier( ).
LOOP AT lo_managedlatticeresource->get_subnetids( ) into lo_row_26.
lo_row_27 = lo_row_26.
IF lo_row_27 IS NOT INITIAL.
lv_subnetid = lo_row_27->get_value( ).
ENDIF.
ENDLOOP.
lv_endpointipaddresstype = lo_managedlatticeresource->get_endpointipaddresstype( ).
LOOP AT lo_managedlatticeresource->get_securitygroupids( ) into lo_row_28.
lo_row_29 = lo_row_28.
IF lo_row_29 IS NOT INITIAL.
lv_securitygroupidentifier = lo_row_29->get_value( ).
ENDIF.
ENDLOOP.
LOOP AT lo_managedlatticeresource->get_tags( ) into ls_row_30.
lv_key_2 = ls_row_30-key.
lo_value_2 = ls_row_30-value.
IF lo_value_2 IS NOT INITIAL.
lv_tagvalue = lo_value_2->get_value( ).
ENDIF.
ENDLOOP.
lv_routingdomain = lo_managedlatticeresource->get_routingdomain( ).
ENDIF.
ENDIF.
LOOP AT lo_row_1->get_privateendptmanagedres( ) into lo_row_31.
lo_row_32 = lo_row_31.
IF lo_row_32 IS NOT INITIAL.
lv_domainname = lo_row_32->get_domain( ).
lv_resourcegatewayarn = lo_row_32->get_resourcegatewayarn( ).
lv_resourceassociationarn = lo_row_32->get_resourceassociationarn( ).
ENDIF.
ENDLOOP.
lo_authorizationdata = lo_row_1->get_authorizationdata( ).
IF lo_authorizationdata IS NOT INITIAL.
lo_oauth2authorizationdata = lo_authorizationdata->get_oauth2( ).
IF lo_oauth2authorizationdata IS NOT INITIAL.
lv_string = lo_oauth2authorizationdata->get_authorizationurl( ).
lv_string = lo_oauth2authorizationdata->get_userid( ).
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.