IAC Files - Integration as Code
The definition of modules can be done through IAC files. These are JSON format files that follow a pre-defined schema and allow you to define your modules programmatically.
Definitions
An IAC file contains all the specifications of a module in a structured format. You can create your own module definitions and import them into Skyone Studio.
Below is an example of a module in the IAC format. The initial parameters belong to the module, and all operations are defined within the operations array. Each operation definition also includes basic properties such as name and description. Other properties are grouped into specific blocks like parameters and request.
The complete definition of schema can be seen below.
The table below describes the main fields of an IAC file structure:
name
Connector module name
id
Module ID. This ID is provided by Skyone Studio during export. To create a new module, use an empty ID.
Skyone Studio will create a new module if it does not recognize the provided ID.
description
Module description
type
Module type. Supported types:
REST
RFC
Database
settings.authentication_type
Authentication mechanism used by the module.
operations.[].name
Operation Name
operations.[].id
Operation ID. This ID is provided by Skyone Studio during export. To create a new operation, use an empty ID.
Skyone Studio will create a new operation if it does not recognize the provided ID.
description
Operation description
operations.[].parameters.[].name
Parameters Name
operations.[].parameters.[].type
Type of data that you pass as a parameter:
object
string
operations.[].parameters.[].description
Parameter description
operations.[].parameters.[].required
Definition if it is a mandatory parameter.
true
false
operations.[].parameters.[].sensitive
Definition if it is a sensitive parameters
true
false
operations.[].parameters.[].sample
(optional) Parameter example. It can come as an empty object or an empty string.
JSON objects must be send as JSON strings
operations.[].request.method
Method used by the operation:
GET
POST
PUT
PATCH
DELETE
operations.[].request.url.path
The path is sent as a list that contains its components.
operations.[].request.url.query
List of key/value pairs containing the query string definitions.
operations.[].request.header
List of key/value pairs containing the definitions of the header entries.
operations.[].request.body
Body definition for POST or PATCH requests.
e.g.
"body": {
"mode": "raw",
"raw": "{ "key1":"value1",\n\t"key2":<>body_parm1</>\n\t}",
"options": { "raw": { "language": "json"
}
}
}
The properties change according to the type chosen. See below for more examples:
Next steps
You can create new modules by providing an IAC file. Additionally, Skyone Studio allows you to export the specification of an existing IAC file so that you can make updates via an UPDATE.
Read also: Creating a module with an IAC file
Last updated
Was this helpful?
