@itentialopensource/adapter-openstack_cinder 0.3.5 → 0.4.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.
Files changed (45) hide show
  1. package/.eslintrc.js +1 -0
  2. package/AUTH.md +4 -4
  3. package/BROKER.md +4 -4
  4. package/CALLS.md +9 -9
  5. package/ENHANCE.md +3 -3
  6. package/PROPERTIES.md +24 -9
  7. package/README.md +24 -23
  8. package/SUMMARY.md +2 -2
  9. package/SYSTEMINFO.md +1 -1
  10. package/TAB1.md +2 -2
  11. package/TAB2.md +9 -5
  12. package/TROUBLESHOOT.md +10 -1
  13. package/UTILITIES.md +473 -0
  14. package/adapter.js +5 -5
  15. package/adapterBase.js +52 -16
  16. package/package.json +24 -28
  17. package/pronghorn.json +15 -13
  18. package/propertiesSchema.json +68 -7
  19. package/report/adapterInfo.json +7 -7
  20. package/report/auto-adapter-openapi.json +8734 -0
  21. package/report/updateReport1748554868050.json +120 -0
  22. package/sampleProperties.json +4 -0
  23. package/test/integration/adapterTestBasicGet.js +88 -54
  24. package/test/integration/adapterTestConnectivity.js +15 -16
  25. package/test/integration/adapterTestIntegration.js +1 -38
  26. package/test/unit/adapterBaseTestUnit.js +641 -39
  27. package/test/unit/adapterTestUnit.js +17 -54
  28. package/utils/adapterInfo.js +114 -164
  29. package/utils/argParser.js +44 -0
  30. package/utils/checkMigrate.js +77 -38
  31. package/utils/entitiesToDB.js +53 -42
  32. package/utils/logger.js +26 -0
  33. package/utils/modify.js +56 -55
  34. package/utils/mongoDbConnection.js +79 -0
  35. package/utils/mongoUtils.js +162 -0
  36. package/utils/taskMover.js +31 -32
  37. package/utils/tbScript.js +36 -172
  38. package/utils/tbUtils.js +84 -226
  39. package/utils/troubleshootingAdapter.js +68 -84
  40. package/utils/updateAdapterConfig.js +158 -0
  41. package/utils/addAuth.js +0 -94
  42. package/utils/artifactize.js +0 -146
  43. package/utils/basicGet.js +0 -50
  44. package/utils/packModificationScript.js +0 -35
  45. package/utils/patches2bundledDeps.js +0 -90
package/package.json CHANGED
@@ -1,14 +1,13 @@
1
1
  {
2
2
  "name": "@itentialopensource/adapter-openstack_cinder",
3
- "version": "0.3.5",
3
+ "version": "0.4.0",
4
4
  "description": "This adapter integrates with system described as: Openstack Block Storage (Cinder) Service",
5
5
  "main": "adapter.js",
6
6
  "systemName": "OpenStack Block Storage (Cinder)",
7
7
  "wizardVersion": "2.44.7",
8
- "engineVersion": "1.68.2",
8
+ "engineVersion": "1.69.14",
9
9
  "adapterType": "http",
10
10
  "scripts": {
11
- "artifactize": "npm i && node utils/packModificationScript.js",
12
11
  "preinstall": "node utils/setup.js",
13
12
  "deinstall": "node utils/removeHooks.js",
14
13
  "lint": "node --max_old_space_size=4096 ./node_modules/eslint/bin/eslint.js . --ext .json --ext .js",
@@ -17,7 +16,6 @@
17
16
  "test:unit": "mocha test/unit/adapterTestUnit.js --LOG=error",
18
17
  "test:integration": "mocha test/integration/adapterTestIntegration.js --LOG=error",
19
18
  "test": "npm run test:baseunit && npm run test:unit && npm run test:integration",
20
- "adapter:install": "npm i && node utils/tbScript.js install",
21
19
  "adapter:checkMigrate": "node utils/checkMigrate.js",
22
20
  "adapter:findPath": "node utils/findPath.js",
23
21
  "adapter:migrate": "node utils/modify.js -m",
@@ -32,10 +30,9 @@
32
30
  },
33
31
  "keywords": [
34
32
  "Itential",
35
- "IAP",
33
+ "Itential Platform",
36
34
  "Automation",
37
35
  "Integration",
38
- "App-Artifacts",
39
36
  "Adapter",
40
37
  "Cloud",
41
38
  "Openstack",
@@ -54,30 +51,29 @@
54
51
  "author": "Itential",
55
52
  "homepage": "https://gitlab.com/itentialopensource/adapters/adapter-openstack_cinder#readme",
56
53
  "dependencies": {
57
- "@itentialopensource/adapter-utils": "^5.10.1",
58
- "acorn": "^8.14.0",
59
- "ajv": "^8.17.1",
60
- "axios": "^1.7.9",
61
- "commander": "^11.0.0",
62
- "dns-lookup-promise": "^1.0.4",
63
- "fs-extra": "^11.2.0",
64
- "json-query": "^2.2.2",
65
- "mocha": "^10.8.2",
66
- "mocha-param": "^2.0.1",
67
- "mongodb": "^4.17.2",
68
- "ping": "^0.4.4",
69
- "prompts": "^2.4.2",
70
- "readline-sync": "^1.4.10",
71
- "semver": "^7.6.3",
72
- "winston": "^3.17.0"
54
+ "@itentialopensource/adapter-utils": "5.10.16",
55
+ "acorn": "8.14.1",
56
+ "ajv": "8.17.1",
57
+ "axios": "1.9.0",
58
+ "commander": "11.1.0",
59
+ "fs-extra": "11.3.0",
60
+ "json-query": "2.2.2",
61
+ "mocha": "10.8.2",
62
+ "mocha-param": "2.0.1",
63
+ "mongodb": "4.17.2",
64
+ "ping": "0.4.4",
65
+ "prompts": "2.4.2",
66
+ "readline-sync": "1.4.10",
67
+ "semver": "7.7.2",
68
+ "winston": "3.17.0"
73
69
  },
74
70
  "devDependencies": {
75
- "chai": "^4.3.7",
76
- "eslint": "^8.44.0",
77
- "eslint-config-airbnb-base": "^15.0.0",
78
- "eslint-plugin-import": "^2.27.5",
79
- "eslint-plugin-json": "^3.1.0",
80
- "testdouble": "^3.18.0"
71
+ "chai": "4.5.0",
72
+ "eslint": "8.57.0",
73
+ "eslint-config-airbnb-base": "15.0.0",
74
+ "eslint-plugin-import": "2.31.0",
75
+ "eslint-plugin-json": "3.1.0",
76
+ "testdouble": "3.18.0"
81
77
  },
82
78
  "private": false
83
79
  }
package/pronghorn.json CHANGED
@@ -226,16 +226,6 @@
226
226
  "title": "props",
227
227
  "type": "object"
228
228
  }
229
- },
230
- {
231
- "name": "persistFlag",
232
- "type": "boolean",
233
- "info": "Whether the input properties should be saved",
234
- "required": true,
235
- "schema": {
236
- "title": "persistFlag",
237
- "type": "boolean"
238
- }
239
229
  }
240
230
  ],
241
231
  "output": {
@@ -306,7 +296,19 @@
306
296
  "name": "iapRunAdapterBasicGet",
307
297
  "summary": "Runs basicGet script for adapter",
308
298
  "description": "Runs basicGet script for adapter",
309
- "input": [],
299
+ "input": [
300
+ {
301
+ "name": "maxCalls",
302
+ "required": false,
303
+ "type": "number",
304
+ "info": "How many GET endpoints to test (defaults to 5)",
305
+ "schema": {
306
+ "title": "maxCalls",
307
+ "type": "number",
308
+ "default": 5
309
+ }
310
+ }
311
+ ],
310
312
  "output": {
311
313
  "name": "result",
312
314
  "type": "object",
@@ -327,8 +329,8 @@
327
329
  },
328
330
  {
329
331
  "name": "iapMoveAdapterEntitiesToDB",
330
- "summary": "Moves entities from an adapter into the IAP database",
331
- "description": "Moves entities from an adapter into the IAP database",
332
+ "summary": "Moves entities from an adapter into the Itential Platform database",
333
+ "description": "Moves entities from an adapter into the Itential Platform database",
332
334
  "input": [],
333
335
  "output": {
334
336
  "name": "res",
@@ -784,6 +784,14 @@
784
784
  "security/ca.pem"
785
785
  ]
786
786
  },
787
+ "ca_file_content": {
788
+ "type": "string",
789
+ "description": "The content of the CA file used for SSL",
790
+ "default": "",
791
+ "examples": [
792
+ "-----BEGIN CERTIFICATE-----"
793
+ ]
794
+ },
787
795
  "key_file": {
788
796
  "type": "string",
789
797
  "description": "The fully qualified path name to the key file used for SSL",
@@ -873,32 +881,48 @@
873
881
  "mongo": {
874
882
  "type": "object",
875
883
  "properties": {
884
+ "url": {
885
+ "type": "string",
886
+ "description": "Mongo's complete connection URL. This property overrides host, port, database, username, password and replSet settings.",
887
+ "examples": [
888
+ "mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]",
889
+ "mongodb+srv://[username:password@]cluster0.xxxxx.mongodb.net/[defaultauthdb][?options]",
890
+ "mongodb+srv://cluster0.xxxxx.mongodb.net/[defaultauthdb][?options]"
891
+ ]
892
+ },
876
893
  "host": {
877
894
  "type": "string",
878
- "description": "host where mongo database can be found",
895
+ "description": "Host information for the Mongo server",
879
896
  "default": "",
880
897
  "examples": [
881
- "localhost"
898
+ "localhost",
899
+ "cluster0.xxxxx.mongodb.net",
900
+ "my-cluster.example.com"
882
901
  ]
883
902
  },
884
903
  "port": {
885
904
  "type": "integer",
886
- "description": "port on which to connect to the mongo database",
905
+ "description": "Port information for the Mongo server. Not used when using mongodb+srv:// protocol",
887
906
  "default": 443,
888
907
  "minimum": 0,
889
908
  "maximum": 65535
890
909
  },
891
910
  "database": {
892
911
  "type": "string",
893
- "description": "The name of the database to store adapter information in",
912
+ "description": "The database for the adapter to use for its data.",
894
913
  "default": "",
895
914
  "examples": [
896
915
  "adapter-xyz"
897
916
  ]
898
917
  },
918
+ "dbAuth": {
919
+ "type": "boolean",
920
+ "description": "Whether to use authentication for MongoDB connection. Default is false.",
921
+ "default": false
922
+ },
899
923
  "username": {
900
924
  "type": "string",
901
- "description": "The user to connect to the database with",
925
+ "description": "If credentials are required to access Mongo, this is the user to login as.",
902
926
  "default": "",
903
927
  "examples": [
904
928
  "username"
@@ -906,7 +930,7 @@
906
930
  },
907
931
  "password": {
908
932
  "type": "string",
909
- "description": "The password to connect to the database with",
933
+ "description": "If credentials are required to access Mongo, this is the password to login with.",
910
934
  "default": "",
911
935
  "examples": [
912
936
  "password"
@@ -914,12 +938,17 @@
914
938
  },
915
939
  "replSet": {
916
940
  "type": "string",
917
- "description": "The replica set for the database",
941
+ "description": "If the database is set up to use replica sets, define it here so it can be added to the database connection. Not used when using mongodb+srv:// protocol",
918
942
  "default": "",
919
943
  "examples": [
920
944
  "my_repolica_set"
921
945
  ]
922
946
  },
947
+ "addSrv": {
948
+ "type": "boolean",
949
+ "description": "Whether the connection requires the mongodb+srv:// protocol. If true, uses mongodb+srv:// protocol. Note: mongodb+srv:// can also be used for non-Atlas deployments that support DNS SRV records",
950
+ "default": false
951
+ },
923
952
  "db_ssl": {
924
953
  "type": "object",
925
954
  "description": "SSL for mongo database connection",
@@ -960,6 +989,38 @@
960
989
  }
961
990
  }
962
991
  }
992
+ },
993
+ "dependencies": {
994
+ "dbAuth": {
995
+ "oneOf": [
996
+ {
997
+ "properties": {
998
+ "dbAuth": {
999
+ "const": false
1000
+ }
1001
+ }
1002
+ },
1003
+ {
1004
+ "properties": {
1005
+ "dbAuth": {
1006
+ "const": true
1007
+ },
1008
+ "username": {
1009
+ "type": "string",
1010
+ "minLength": 1
1011
+ },
1012
+ "password": {
1013
+ "type": "string",
1014
+ "minLength": 1
1015
+ }
1016
+ },
1017
+ "required": [
1018
+ "username",
1019
+ "password"
1020
+ ]
1021
+ }
1022
+ ]
1023
+ }
963
1024
  }
964
1025
  },
965
1026
  "devicebroker": {
@@ -1,10 +1,10 @@
1
1
  {
2
- "version": "0.3.2",
3
- "configLines": 12301,
4
- "scriptLines": 1783,
5
- "codeLines": 21543,
6
- "testLines": 13988,
7
- "testCases": 722,
8
- "totalCodeLines": 37314,
2
+ "version": "0.3.6",
3
+ "configLines": 17799,
4
+ "scriptLines": 2498,
5
+ "codeLines": 21579,
6
+ "testLines": 14549,
7
+ "testCases": 735,
8
+ "totalCodeLines": 38626,
9
9
  "wfTasks": 183
10
10
  }