@itentialopensource/adapter-iap 0.9.1 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AUTH.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ## Authenticating Itential Automation Platform Adapter
2
2
 
3
- This document will go through the steps for authenticating the Itential Automation Platform adapter with Two Step Token Authentication. Properly configuring the properties for an adapter in Itential Platform is critical for getting the adapter online. You can read more about adapter authentication <a href="https://docs.itential.com/opensource/docs/authentication" target="_blank">HERE</a>.
3
+ This document will go through the steps for authenticating the Itential Automation Platform adapter with Two Step Token Authentication and OAuth Authentication. Properly configuring the properties for an adapter in Itential Platform is critical for getting the adapter online. You can read more about adapter authentication <a href="https://docs.itential.com/opensource/docs/authentication" target="_blank">HERE</a>.
4
4
 
5
5
  ### Two Step Token Authentication
6
6
  The Itential Automation Platform adapter requires Two Step Token Authentication. If you change authentication methods, you should change this section accordingly and merge it back into the adapter repository.
@@ -21,7 +21,35 @@ STEPS
21
21
  "auth_field_format": "token={token}"
22
22
  }
23
23
  ```
24
- 4. Restart the adapter. If your properties were set correctly, the adapter should go online.
24
+ 4. Restart the adapter. If your properties were set correctly, the adapter should go online.
25
+
26
+ ### OAuth Authentication
27
+ The Itential Automation Platform adapter supports OAuth.
28
+
29
+ STEPS
30
+ 1. Ensure you have access to a Itential Automation Platform server and that it is running
31
+ 2. Follow the steps in the README.md to import the adapter into IAP if you have not already done so
32
+ 3. Use the properties below for the properties.authentication field
33
+ ```json
34
+ "authentication": {
35
+ "auth_method": "request_token",
36
+ "token_timeout": 1800000,
37
+ "token_cache": "local",
38
+ "token_URI_path": "/oauth/token",
39
+ "invalid_token_error": 401,
40
+ "auth_field": "header.headers.Authorization",
41
+ "auth_field_format": "Bearer {token}",
42
+ "auth_request_datatype": "URLENCODE",
43
+ "auth_response_datatype": "JSON",
44
+ "token_result_field": "access_token",
45
+ "token_response_placement": "BODY",
46
+ "client_id": "<client_id>",
47
+ "client_secret": "<client_secret",
48
+ "grant_type": "client_credentials",
49
+ "addCreds": false,
50
+ }
51
+ ```
52
+ 4. Restart the adapter. If your properties were set correctly, the adapter should go online.
25
53
 
26
54
  ### Troubleshooting
27
55
  - Make sure you copied over the correct username and password.
package/PROPERTIES.md CHANGED
@@ -54,7 +54,8 @@ This section defines **all** the properties that are available for the adapter,
54
54
  "healthcheck_on_timeout": false,
55
55
  "return_raw": false,
56
56
  "archiving": false,
57
- "return_request": false
57
+ "return_request": false,
58
+ "keep_alive_interval": 0
58
59
  },
59
60
  "ssl": {
60
61
  "ecdhCurve": "",
@@ -403,6 +404,10 @@ The request section defines properties to help handle requests.
403
404
  <td style="padding:15px">return_request</td>
404
405
  <td style="padding:15px">Optional flag. Default is false. Will return the actual request that is made including headers. This should only be used during debugging issues as there could be credentials in the actual request.</td>
405
406
  </tr>
407
+ <tr>
408
+ <td style="padding:15px">keep_alive_interval</td>
409
+ <td style="padding:15px">Optional. TCP keep-alive interval in seconds for long-lived connections. Set to 0 to disable keep-alive (default). When enabled, minimum value is 30 seconds.</td>
410
+ </tr>
406
411
  </table>
407
412
  <br>
408
413
 
package/TAB2.md CHANGED
@@ -11,7 +11,7 @@
11
11
  ## Specific Adapter Information
12
12
  ### Authentication
13
13
 
14
- This document will go through the steps for authenticating the Itential Automation Platform adapter with Two Step Token Authentication. Properly configuring the properties for an adapter in Itential Platform is critical for getting the adapter online. You can read more about adapter authentication <a href="https://docs.itential.com/opensource/docs/authentication" target="_blank">HERE</a>.
14
+ This document will go through the steps for authenticating the Itential Automation Platform adapter with Two Step Token Authentication and OAuth Authentication. Properly configuring the properties for an adapter in Itential Platform is critical for getting the adapter online. You can read more about adapter authentication <a href="https://docs.itential.com/opensource/docs/authentication" target="_blank">HERE</a>.
15
15
 
16
16
  #### Two Step Token Authentication
17
17
  The Itential Automation Platform adapter requires Two Step Token Authentication. If you change authentication methods, you should change this section accordingly and merge it back into the adapter repository.
@@ -32,7 +32,35 @@ STEPS
32
32
  "auth_field_format": "token={token}"
33
33
  }
34
34
  ```
35
- 4. Restart the adapter. If your properties were set correctly, the adapter should go online.
35
+ 4. Restart the adapter. If your properties were set correctly, the adapter should go online.
36
+
37
+ #### OAuth Authentication
38
+ The Itential Automation Platform adapter supports OAuth.
39
+
40
+ STEPS
41
+ 1. Ensure you have access to a Itential Automation Platform server and that it is running
42
+ 2. Follow the steps in the README.md to import the adapter into IAP if you have not already done so
43
+ 3. Use the properties below for the properties.authentication field
44
+ ```json
45
+ "authentication": {
46
+ "auth_method": "request_token",
47
+ "token_timeout": 1800000,
48
+ "token_cache": "local",
49
+ "token_URI_path": "/oauth/token",
50
+ "invalid_token_error": 401,
51
+ "auth_field": "header.headers.Authorization",
52
+ "auth_field_format": "Bearer {token}",
53
+ "auth_request_datatype": "URLENCODE",
54
+ "auth_response_datatype": "JSON",
55
+ "token_result_field": "access_token",
56
+ "token_response_placement": "BODY",
57
+ "client_id": "<client_id>",
58
+ "client_secret": "<client_secret",
59
+ "grant_type": "client_credentials",
60
+ "addCreds": false,
61
+ }
62
+ ```
63
+ 4. Restart the adapter. If your properties were set correctly, the adapter should go online.
36
64
 
37
65
  #### Troubleshooting
38
66
  - Make sure you copied over the correct username and password.
@@ -132,7 +160,8 @@ Sample Properties can be used to help you configure the adapter in the Itential
132
160
  "healthcheck_on_timeout": true,
133
161
  "return_raw": false,
134
162
  "archiving": false,
135
- "return_request": false
163
+ "return_request": false,
164
+ "keep_alive_interval": 0
136
165
  },
137
166
  "proxy": {
138
167
  "enabled": false,
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@itentialopensource/adapter-iap",
3
- "version": "0.9.1",
3
+ "version": "0.11.0",
4
4
  "description": "This adapter integrates with system described as: iap.",
5
5
  "main": "adapter.js",
6
6
  "systemName": "Itential Automation Platform",
7
7
  "wizardVersion": "3.8.0",
8
- "engineVersion": "1.79.2",
8
+ "engineVersion": "1.80.0",
9
9
  "adapterType": "http",
10
10
  "scripts": {
11
11
  "preinstall": "node utils/setup.js",
@@ -47,7 +47,7 @@
47
47
  "author": "Itential",
48
48
  "homepage": "https://gitlab.com/itentialopensource/adapters/adapter-iap#readme",
49
49
  "dependencies": {
50
- "@itentialopensource/adapter-utils": "6.0.3",
50
+ "@itentialopensource/adapter-utils": "6.1.7",
51
51
  "acorn": "8.14.1",
52
52
  "ajv": "8.17.1",
53
53
  "axios": "1.12.2",
@@ -695,6 +695,12 @@
695
695
  "type": "boolean",
696
696
  "description": "This property turns on returning the response information - need to be carefull in case credentials are in the path",
697
697
  "default": false
698
+ },
699
+ "keep_alive_interval": {
700
+ "type": "integer",
701
+ "description": "TCP keep-alive interval in seconds for long-lived connections. Set to 0 to disable (default). Minimum 30 seconds when enabled.",
702
+ "default": 0,
703
+ "minimum": 0
698
704
  }
699
705
  },
700
706
  "required": [
@@ -1762,4 +1768,4 @@
1762
1768
  }
1763
1769
  }
1764
1770
  }
1765
- }
1771
+ }
@@ -1,10 +1,10 @@
1
1
  {
2
- "version": "0.6.2",
3
- "configLines": 30135,
4
- "scriptLines": 1783,
5
- "codeLines": 47398,
6
- "testLines": 34369,
7
- "testCases": 1839,
8
- "totalCodeLines": 83550,
2
+ "version": "0.9.1",
3
+ "configLines": 44156,
4
+ "scriptLines": 2498,
5
+ "codeLines": 47472,
6
+ "testLines": 34936,
7
+ "testCases": 1852,
8
+ "totalCodeLines": 84906,
9
9
  "wfTasks": 585
10
10
  }
@@ -0,0 +1,120 @@
1
+ {
2
+ "errors": [],
3
+ "statistics": [
4
+ {
5
+ "owner": "errorJson",
6
+ "description": "New adapter errors available for use",
7
+ "value": 0
8
+ },
9
+ {
10
+ "owner": "errorJson",
11
+ "description": "Adapter errors no longer available for use",
12
+ "value": 0
13
+ },
14
+ {
15
+ "owner": "errorJson",
16
+ "description": "Adapter errors that have been updated (e.g. recommendation changes)",
17
+ "value": 31
18
+ },
19
+ {
20
+ "owner": "packageJson",
21
+ "description": "Number of production dependencies",
22
+ "value": 15
23
+ },
24
+ {
25
+ "owner": "packageJson",
26
+ "description": "Number of development dependencies",
27
+ "value": 6
28
+ },
29
+ {
30
+ "owner": "packageJson",
31
+ "description": "Number of npm scripts",
32
+ "value": 17
33
+ },
34
+ {
35
+ "owner": "packageJson",
36
+ "description": "Runtime Library dependency",
37
+ "value": "6.1.7"
38
+ },
39
+ {
40
+ "owner": "propertiesSchemaJson",
41
+ "description": "Adapter properties defined in the propertiesSchema file",
42
+ "value": 83
43
+ },
44
+ {
45
+ "owner": "markdown",
46
+ "description": "Number of lines in the README.md",
47
+ "value": 345
48
+ },
49
+ {
50
+ "owner": "markdown",
51
+ "description": "Number of lines in the SUMMARY.md",
52
+ "value": 9
53
+ },
54
+ {
55
+ "owner": "markdown",
56
+ "description": "Number of lines in the PROPERTIES.md",
57
+ "value": 682
58
+ },
59
+ {
60
+ "owner": "markdown",
61
+ "description": "Number of lines in the TROUBLESHOOT.md",
62
+ "value": 57
63
+ },
64
+ {
65
+ "owner": "markdown",
66
+ "description": "Number of lines in the ENHANCE.md",
67
+ "value": 70
68
+ },
69
+ {
70
+ "owner": "markdown",
71
+ "description": "Number of lines in the BROKER.md",
72
+ "value": 70
73
+ },
74
+ {
75
+ "owner": "unitTestJS",
76
+ "description": "Number of lines of code in unit tests",
77
+ "value": 17983
78
+ },
79
+ {
80
+ "owner": "unitTestJS",
81
+ "description": "Number of unit tests",
82
+ "value": 1203
83
+ },
84
+ {
85
+ "owner": "integrationTestJS",
86
+ "description": "Number of lines of code in integration tests",
87
+ "value": 15088
88
+ },
89
+ {
90
+ "owner": "integrationTestJS",
91
+ "description": "Number of integration tests",
92
+ "value": 567
93
+ },
94
+ {
95
+ "owner": "staticFile",
96
+ "description": "Number of lines of code in adapterBase.js",
97
+ "value": 1527
98
+ },
99
+ {
100
+ "owner": "staticFile",
101
+ "description": "Number of static files added",
102
+ "value": 37
103
+ },
104
+ {
105
+ "owner": "Overall",
106
+ "description": "Total lines of Code",
107
+ "value": 34598
108
+ },
109
+ {
110
+ "owner": "Overall",
111
+ "description": "Total Tests",
112
+ "value": 1770
113
+ },
114
+ {
115
+ "owner": "Overall",
116
+ "description": "Total Files",
117
+ "value": 6
118
+ }
119
+ ]
120
+ }
@@ -83,7 +83,8 @@
83
83
  "healthcheck_on_timeout": true,
84
84
  "return_raw": false,
85
85
  "archiving": false,
86
- "return_request": false
86
+ "return_request": false,
87
+ "keep_alive_interval": 0
87
88
  },
88
89
  "proxy": {
89
90
  "enabled": false,