/AWS1/IF_GLU=>REGISTERCONNECTIONTYPE()¶
About RegisterConnectionType¶
Registers a custom connection type in Glue based on the configuration provided. This operation enables customers to configure custom connectors for any data source with REST-based APIs, eliminating the need for building custom Lambda connectors.
The registered connection type stores details about how requests and responses are interpreted by REST sources, including connection properties, authentication configuration, and REST configuration with entity definitions. Once registered, customers can create connections using this connection type and work with them the same way as natively supported Glue connectors.
Supports multiple authentication types including Basic, OAuth2 (Client Credentials, JWT Bearer, Authorization Code), and Custom Auth configurations.
Method Signature¶
METHODS /AWS1/IF_GLU~REGISTERCONNECTIONTYPE
IMPORTING
!IV_CONNECTIONTYPE TYPE /AWS1/GLUNAMESTRING OPTIONAL
!IV_INTEGRATIONTYPE TYPE /AWS1/GLUINTEGRATIONTYPE OPTIONAL
!IV_DESCRIPTION TYPE /AWS1/GLUDESCRIPTION OPTIONAL
!IO_CONNECTIONPROPERTIES TYPE REF TO /AWS1/CL_GLUCONNPROPSCONF OPTIONAL
!IO_CONNECTORAUTHNTCTNCONF TYPE REF TO /AWS1/CL_GLUCNCTRAUTHNTCTNCONF OPTIONAL
!IO_RESTCONFIGURATION TYPE REF TO /AWS1/CL_GLURESTCONFIGURATION OPTIONAL
!IT_TAGS TYPE /AWS1/CL_GLUTAGSMAP_W=>TT_TAGSMAP OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_gluregconntypersp
RAISING
/AWS1/CX_GLUACCESSDENIEDEX
/AWS1/CX_GLUINTERNALSERVICEEX
/AWS1/CX_GLUINVALIDINPUTEX
/AWS1/CX_GLUOPERATIONTIMEOUTEX
/AWS1/CX_GLURESRCNUMLMTEXCDEX
/AWS1/CX_GLUVALIDATIONEX
/AWS1/CX_GLUCLIENTEXC
/AWS1/CX_GLUSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_connectiontype TYPE /AWS1/GLUNAMESTRING /AWS1/GLUNAMESTRING¶
The name of the connection type. Must be between 1 and 255 characters and must be prefixed with "REST-" to indicate it is a REST-based connector.
iv_integrationtype TYPE /AWS1/GLUINTEGRATIONTYPE /AWS1/GLUINTEGRATIONTYPE¶
The integration type for the connection. Currently only "REST" protocol is supported.
io_connectionproperties TYPE REF TO /AWS1/CL_GLUCONNPROPSCONF /AWS1/CL_GLUCONNPROPSCONF¶
Defines the base URL and additional request parameters needed during connection creation for this connection type.
io_connectorauthntctnconf TYPE REF TO /AWS1/CL_GLUCNCTRAUTHNTCTNCONF /AWS1/CL_GLUCNCTRAUTHNTCTNCONF¶
Defines the supported authentication types and required properties for this connection type, including Basic, OAuth2, and Custom authentication methods.
io_restconfiguration TYPE REF TO /AWS1/CL_GLURESTCONFIGURATION /AWS1/CL_GLURESTCONFIGURATION¶
Defines the HTTP request and response configuration, validation endpoint, and entity configurations for REST API interactions.
Optional arguments:¶
iv_description TYPE /AWS1/GLUDESCRIPTION /AWS1/GLUDESCRIPTION¶
A description of the connection type. Can be up to 2048 characters and provides details about the purpose and functionality of the connection type.
it_tags TYPE /AWS1/CL_GLUTAGSMAP_W=>TT_TAGSMAP TT_TAGSMAP¶
The tags you assign to the connection type.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_gluregconntypersp /AWS1/CL_GLUREGCONNTYPERSP¶
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->registerconnectiontype(
io_connectionproperties = new /aws1/cl_gluconnpropsconf(
io_url = new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
it_additionalrequestparams = VALUE /aws1/cl_gluconnectorproperty=>tt_connectorpropertylist(
(
new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
)
)
)
io_connectorauthntctnconf = new /aws1/cl_glucnctrauthntctnconf(
io_basicauthntctnproperties = new /aws1/cl_glubsauthntctnprops(
io_password = new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
io_username = new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
)
io_customauthntctnproperties = new /aws1/cl_glucustauthntctnprops(
it_authenticationparameters = VALUE /aws1/cl_gluconnectorproperty=>tt_connectorpropertylist(
(
new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
)
)
)
io_oauth2properties = new /aws1/cl_glucnctroauth2props(
io_authcodeproperties = new /aws1/cl_glucnctrauthcodeprops(
io_authorizationcode = new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
io_authorizationcodeurl = new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
io_clientid = new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
io_clientsecret = new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
io_prompt = new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
io_redirecturi = new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
io_scope = new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
io_tokenurl = new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
it_tokenurlparameters = VALUE /aws1/cl_gluconnectorproperty=>tt_connectorpropertylist(
(
new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
)
)
iv_contenttype = |string|
iv_requestmethod = |string|
)
io_clientcredsproperties = new /aws1/cl_gluclientcredsprops(
io_clientid = new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
io_clientsecret = new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
io_scope = new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
io_tokenurl = new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
it_tokenurlparameters = VALUE /aws1/cl_gluconnectorproperty=>tt_connectorpropertylist(
(
new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
)
)
iv_contenttype = |string|
iv_requestmethod = |string|
)
io_jwtbearerproperties = new /aws1/cl_glujwtbearerprops(
io_jwttoken = new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
io_tokenurl = new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
it_tokenurlparameters = VALUE /aws1/cl_gluconnectorproperty=>tt_connectorpropertylist(
(
new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
)
)
iv_contenttype = |string|
iv_requestmethod = |string|
)
iv_oauth2granttype = |string|
)
it_authenticationtypes = VALUE /aws1/cl_gluauthntctntypes_w=>tt_authenticationtypes(
( new /aws1/cl_gluauthntctntypes_w( |string| ) )
)
)
io_restconfiguration = new /aws1/cl_glurestconfiguration(
io_globalsourceconfiguration = new /aws1/cl_glusourceconf(
io_paginationconfiguration = new /aws1/cl_glupaginationconf(
io_cursorconfiguration = new /aws1/cl_glucursorconf(
io_limitparameter = new /aws1/cl_gluextractedparameter(
io_value = new /aws1/cl_gluresponseextmapping(
iv_contentpath = |string|
iv_headerkey = |string|
)
iv_defaultvalue = |string|
iv_key = |string|
iv_propertylocation = |string|
)
io_nextpage = new /aws1/cl_gluextractedparameter(
io_value = new /aws1/cl_gluresponseextmapping(
iv_contentpath = |string|
iv_headerkey = |string|
)
iv_defaultvalue = |string|
iv_key = |string|
iv_propertylocation = |string|
)
)
io_offsetconfiguration = new /aws1/cl_gluoffsetconf(
io_limitparameter = new /aws1/cl_gluextractedparameter(
io_value = new /aws1/cl_gluresponseextmapping(
iv_contentpath = |string|
iv_headerkey = |string|
)
iv_defaultvalue = |string|
iv_key = |string|
iv_propertylocation = |string|
)
io_offsetparameter = new /aws1/cl_gluextractedparameter(
io_value = new /aws1/cl_gluresponseextmapping(
iv_contentpath = |string|
iv_headerkey = |string|
)
iv_defaultvalue = |string|
iv_key = |string|
iv_propertylocation = |string|
)
)
)
io_responseconfiguration = new /aws1/cl_gluresponseconf(
iv_errorpath = |string|
iv_resultpath = |string|
)
it_requestparameters = VALUE /aws1/cl_gluconnectorproperty=>tt_connectorpropertylist(
(
new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
)
)
iv_requestmethod = |string|
iv_requestpath = |string|
)
io_validationendpointconf = new /aws1/cl_glusourceconf(
io_paginationconfiguration = new /aws1/cl_glupaginationconf(
io_cursorconfiguration = new /aws1/cl_glucursorconf(
io_limitparameter = new /aws1/cl_gluextractedparameter(
io_value = new /aws1/cl_gluresponseextmapping(
iv_contentpath = |string|
iv_headerkey = |string|
)
iv_defaultvalue = |string|
iv_key = |string|
iv_propertylocation = |string|
)
io_nextpage = new /aws1/cl_gluextractedparameter(
io_value = new /aws1/cl_gluresponseextmapping(
iv_contentpath = |string|
iv_headerkey = |string|
)
iv_defaultvalue = |string|
iv_key = |string|
iv_propertylocation = |string|
)
)
io_offsetconfiguration = new /aws1/cl_gluoffsetconf(
io_limitparameter = new /aws1/cl_gluextractedparameter(
io_value = new /aws1/cl_gluresponseextmapping(
iv_contentpath = |string|
iv_headerkey = |string|
)
iv_defaultvalue = |string|
iv_key = |string|
iv_propertylocation = |string|
)
io_offsetparameter = new /aws1/cl_gluextractedparameter(
io_value = new /aws1/cl_gluresponseextmapping(
iv_contentpath = |string|
iv_headerkey = |string|
)
iv_defaultvalue = |string|
iv_key = |string|
iv_propertylocation = |string|
)
)
)
io_responseconfiguration = new /aws1/cl_gluresponseconf(
iv_errorpath = |string|
iv_resultpath = |string|
)
it_requestparameters = VALUE /aws1/cl_gluconnectorproperty=>tt_connectorpropertylist(
(
new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
)
)
iv_requestmethod = |string|
iv_requestpath = |string|
)
it_entityconfigurations = VALUE /aws1/cl_gluentityconf=>tt_entityconfigurationmap(
(
VALUE /aws1/cl_gluentityconf=>ts_entityconfmap_maprow(
value = new /aws1/cl_gluentityconf(
io_sourceconfiguration = new /aws1/cl_glusourceconf(
io_paginationconfiguration = new /aws1/cl_glupaginationconf(
io_cursorconfiguration = new /aws1/cl_glucursorconf(
io_limitparameter = new /aws1/cl_gluextractedparameter(
io_value = new /aws1/cl_gluresponseextmapping(
iv_contentpath = |string|
iv_headerkey = |string|
)
iv_defaultvalue = |string|
iv_key = |string|
iv_propertylocation = |string|
)
io_nextpage = new /aws1/cl_gluextractedparameter(
io_value = new /aws1/cl_gluresponseextmapping(
iv_contentpath = |string|
iv_headerkey = |string|
)
iv_defaultvalue = |string|
iv_key = |string|
iv_propertylocation = |string|
)
)
io_offsetconfiguration = new /aws1/cl_gluoffsetconf(
io_limitparameter = new /aws1/cl_gluextractedparameter(
io_value = new /aws1/cl_gluresponseextmapping(
iv_contentpath = |string|
iv_headerkey = |string|
)
iv_defaultvalue = |string|
iv_key = |string|
iv_propertylocation = |string|
)
io_offsetparameter = new /aws1/cl_gluextractedparameter(
io_value = new /aws1/cl_gluresponseextmapping(
iv_contentpath = |string|
iv_headerkey = |string|
)
iv_defaultvalue = |string|
iv_key = |string|
iv_propertylocation = |string|
)
)
)
io_responseconfiguration = new /aws1/cl_gluresponseconf(
iv_errorpath = |string|
iv_resultpath = |string|
)
it_requestparameters = VALUE /aws1/cl_gluconnectorproperty=>tt_connectorpropertylist(
(
new /aws1/cl_gluconnectorproperty(
it_allowedvalues = VALUE /aws1/cl_glulistofstring_w=>tt_listofstring(
( new /aws1/cl_glulistofstring_w( |string| ) )
)
iv_defaultvalue = |string|
iv_keyoverride = |string|
iv_name = |string|
iv_propertylocation = |string|
iv_propertytype = |string|
iv_required = ABAP_TRUE
)
)
)
iv_requestmethod = |string|
iv_requestpath = |string|
)
it_schema = VALUE /aws1/cl_glufielddefinition=>tt_fielddefinitionmap(
(
VALUE /aws1/cl_glufielddefinition=>ts_fielddefinitionmap_maprow(
key = |string|
value = new /aws1/cl_glufielddefinition(
iv_fielddatatype = |string|
iv_name = |string|
)
)
)
)
)
key = |string|
)
)
)
)
it_tags = VALUE /aws1/cl_glutagsmap_w=>tt_tagsmap(
(
VALUE /aws1/cl_glutagsmap_w=>ts_tagsmap_maprow(
value = new /aws1/cl_glutagsmap_w( |string| )
key = |string|
)
)
)
iv_connectiontype = |string|
iv_description = |string|
iv_integrationtype = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_glueresourcearn = lo_result->get_connectiontypearn( ).
ENDIF.