MuranoCLI 3.2.1.pre.beta.6 → 3.2.1.pre.beta.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (228) hide show
  1. checksums.yaml +4 -4
  2. data/HISTORY.md +10 -0
  3. data/MuranoCLI.gemspec +37 -6
  4. data/Rakefile +38 -11
  5. data/lib/MrMurano/commands/business.rb +0 -4
  6. data/lib/MrMurano/version.rb +1 -1
  7. metadata +2 -251
  8. data/dockers/Dockerfile.2.2.9 +0 -40
  9. data/dockers/Dockerfile.2.3.6 +0 -40
  10. data/dockers/Dockerfile.2.4.3 +0 -40
  11. data/dockers/Dockerfile.2.5.0 +0 -40
  12. data/dockers/Dockerfile.GemRelease +0 -49
  13. data/dockers/Dockerfile.m4 +0 -122
  14. data/dockers/README.rst +0 -362
  15. data/dockers/RELEASE.rst +0 -135
  16. data/dockers/docker-test.sh +0 -163
  17. data/dockers/gem-release.sh +0 -4
  18. data/docs/basic_example.rst +0 -436
  19. data/docs/ci/.trustme.plugin +0 -140
  20. data/docs/ci/.trustme.sh +0 -516
  21. data/docs/ci/.trustme.vim +0 -55
  22. data/docs/completions/murano_completion-bash +0 -4484
  23. data/docs/demo.md +0 -109
  24. data/docs/develop.rst +0 -392
  25. data/docs/release.rst +0 -295
  26. data/spec/Account-Passwords_spec.rb +0 -245
  27. data/spec/Account_spec.rb +0 -256
  28. data/spec/Business_spec.rb +0 -307
  29. data/spec/ConfigFile_spec.rb +0 -55
  30. data/spec/ConfigMigrate_spec.rb +0 -108
  31. data/spec/Config_spec.rb +0 -440
  32. data/spec/Content_spec.rb +0 -422
  33. data/spec/GatewayBase_spec.rb +0 -65
  34. data/spec/GatewayDevice_spec.rb +0 -403
  35. data/spec/GatewayResource_spec.rb +0 -283
  36. data/spec/GatewaySettings_spec.rb +0 -130
  37. data/spec/HttpAuthed_spec.rb +0 -87
  38. data/spec/Http_spec.rb +0 -220
  39. data/spec/MakePretties_spec.rb +0 -127
  40. data/spec/Mock_spec.rb +0 -62
  41. data/spec/ProjectFile_spec.rb +0 -381
  42. data/spec/Setting_spec.rb +0 -120
  43. data/spec/Solution-ServiceConfig_spec.rb +0 -272
  44. data/spec/Solution-ServiceEventHandler_spec.rb +0 -442
  45. data/spec/Solution-ServiceModules_spec.rb +0 -562
  46. data/spec/Solution-UsersRoles_spec.rb +0 -269
  47. data/spec/Solution_spec.rb +0 -140
  48. data/spec/SyncRoot_spec.rb +0 -111
  49. data/spec/SyncUpDown_spec.rb +0 -868
  50. data/spec/Verbosing_spec.rb +0 -332
  51. data/spec/Webservice-Cors_spec.rb +0 -225
  52. data/spec/Webservice-Endpoint_spec.rb +0 -650
  53. data/spec/Webservice-File_spec.rb +0 -282
  54. data/spec/Webservice-Setting_spec.rb +0 -105
  55. data/spec/_workspace.rb +0 -43
  56. data/spec/cmd_business_spec.rb +0 -64
  57. data/spec/cmd_common.rb +0 -507
  58. data/spec/cmd_config_spec.rb +0 -73
  59. data/spec/cmd_content_spec.rb +0 -109
  60. data/spec/cmd_cors_spec.rb +0 -54
  61. data/spec/cmd_device_spec.rb +0 -130
  62. data/spec/cmd_domain_spec.rb +0 -62
  63. data/spec/cmd_element_spec.rb +0 -401
  64. data/spec/cmd_exchange_spec.rb +0 -114
  65. data/spec/cmd_help_spec.rb +0 -72
  66. data/spec/cmd_init_spec.rb +0 -475
  67. data/spec/cmd_keystore_spec.rb +0 -97
  68. data/spec/cmd_link_spec.rb +0 -105
  69. data/spec/cmd_logs_spec.rb +0 -162
  70. data/spec/cmd_password_spec.rb +0 -64
  71. data/spec/cmd_setting_application_spec.rb +0 -300
  72. data/spec/cmd_setting_product_spec.rb +0 -246
  73. data/spec/cmd_status_spec.rb +0 -300
  74. data/spec/cmd_syncdown_application_spec.rb +0 -128
  75. data/spec/cmd_syncdown_both_spec.rb +0 -178
  76. data/spec/cmd_syncdown_unit_spec.rb +0 -861
  77. data/spec/cmd_syncup_spec.rb +0 -148
  78. data/spec/cmd_token_spec.rb +0 -53
  79. data/spec/cmd_usage_spec.rb +0 -79
  80. data/spec/dry_run_formatter.rb +0 -28
  81. data/spec/fixtures/.mrmuranorc +0 -9
  82. data/spec/fixtures/ProjectFiles/invalid.yaml +0 -9
  83. data/spec/fixtures/ProjectFiles/only_meta.yaml +0 -24
  84. data/spec/fixtures/ProjectFiles/with_routes.yaml +0 -27
  85. data/spec/fixtures/SolutionFiles/0.2.0.json +0 -20
  86. data/spec/fixtures/SolutionFiles/0.2.0_invalid.json +0 -18
  87. data/spec/fixtures/SolutionFiles/0.2.json +0 -21
  88. data/spec/fixtures/SolutionFiles/0.3.0.json +0 -20
  89. data/spec/fixtures/SolutionFiles/0.3.0_invalid.json +0 -19
  90. data/spec/fixtures/SolutionFiles/0.3.json +0 -20
  91. data/spec/fixtures/SolutionFiles/basic.json +0 -20
  92. data/spec/fixtures/SolutionFiles/secret.json +0 -6
  93. data/spec/fixtures/configfile +0 -9
  94. data/spec/fixtures/dumped_config +0 -57
  95. data/spec/fixtures/exchange_element/element-show.json +0 -1
  96. data/spec/fixtures/exchange_element/swagger-mur-6407__10k.yaml +0 -282
  97. data/spec/fixtures/exchange_element/swagger-mur-6407__20k.yaml +0 -588
  98. data/spec/fixtures/gateway_resource_files/resources.notyaml +0 -12
  99. data/spec/fixtures/gateway_resource_files/resources.yaml +0 -13
  100. data/spec/fixtures/gateway_resource_files/resources_invalid.yaml +0 -13
  101. data/spec/fixtures/mrmuranorc_deleted_bob +0 -6
  102. data/spec/fixtures/mrmuranorc_tool_bob +0 -3
  103. data/spec/fixtures/product_spec_files/example.exoline.spec.yaml +0 -116
  104. data/spec/fixtures/product_spec_files/example.murano.spec.yaml +0 -14
  105. data/spec/fixtures/product_spec_files/gwe.exoline.spec.yaml +0 -21
  106. data/spec/fixtures/product_spec_files/gwe.murano.spec.yaml +0 -16
  107. data/spec/fixtures/product_spec_files/lightbulb-no-state.yaml +0 -11
  108. data/spec/fixtures/product_spec_files/lightbulb.yaml +0 -21
  109. data/spec/fixtures/roles-three.yaml +0 -11
  110. data/spec/fixtures/snapshots/murano application setting Writes (using Webservice.cors) a bool value 0.webmock +0 -98
  111. data/spec/fixtures/snapshots/murano application setting Writes (using Webservice.cors) a bool value 1.webmock +0 -98
  112. data/spec/fixtures/snapshots/murano application setting Writes (using Webservice.cors) a bool value No.webmock +0 -98
  113. data/spec/fixtures/snapshots/murano application setting Writes (using Webservice.cors) a bool value Yes.webmock +0 -98
  114. data/spec/fixtures/snapshots/murano application setting Writes (using Webservice.cors) a bool value bob.webmock +0 -72
  115. data/spec/fixtures/snapshots/murano application setting Writes (using Webservice.cors) a bool value false.webmock +0 -98
  116. data/spec/fixtures/snapshots/murano application setting Writes (using Webservice.cors) a bool value off.webmock +0 -98
  117. data/spec/fixtures/snapshots/murano application setting Writes (using Webservice.cors) a bool value on STDIN.webmock +0 -98
  118. data/spec/fixtures/snapshots/murano application setting Writes (using Webservice.cors) a bool value on.webmock +0 -98
  119. data/spec/fixtures/snapshots/murano application setting Writes (using Webservice.cors) a bool value true.webmock +0 -98
  120. data/spec/fixtures/snapshots/murano application setting Writes (using Webservice.cors) a json array blob with STDIN.webmock +0 -98
  121. data/spec/fixtures/snapshots/murano application setting Writes (using Webservice.cors) a json array blob.webmock +0 -98
  122. data/spec/fixtures/snapshots/murano application setting Writes (using Webservice.cors) an array.webmock +0 -98
  123. data/spec/fixtures/snapshots/murano application setting Writes (using Webservice.cors) appends an array.webmock +0 -98
  124. data/spec/fixtures/snapshots/murano application setting reads Webservice.cors to a file.webmock +0 -72
  125. data/spec/fixtures/snapshots/murano application setting reads Webservice.cors.webmock +0 -72
  126. data/spec/fixtures/snapshots/murano business list as json.webmock +0 -27
  127. data/spec/fixtures/snapshots/murano business list as table.webmock +0 -27
  128. data/spec/fixtures/snapshots/murano business list fewer fields.webmock +0 -27
  129. data/spec/fixtures/snapshots/murano business list only ids.webmock +0 -27
  130. data/spec/fixtures/snapshots/murano business list output to file.webmock +0 -27
  131. data/spec/fixtures/snapshots/murano business without project help.webmock +0 -9
  132. data/spec/fixtures/snapshots/murano config Needs a key.webmock +0 -9
  133. data/spec/fixtures/snapshots/murano config Reads a key.webmock +0 -9
  134. data/spec/fixtures/snapshots/murano config Removes a key.webmock +0 -9
  135. data/spec/fixtures/snapshots/murano config Sets a key.webmock +0 -9
  136. data/spec/fixtures/snapshots/murano config Sets a user key.webmock +0 -9
  137. data/spec/fixtures/snapshots/murano content life cycle.webmock +0 -144
  138. data/spec/fixtures/snapshots/murano cors sets CORS.webmock +0 -78
  139. data/spec/fixtures/snapshots/murano cors show CORS.webmock +0 -64
  140. data/spec/fixtures/snapshots/murano device activates.webmock +0 -86
  141. data/spec/fixtures/snapshots/murano device enables a batch.webmock +0 -76
  142. data/spec/fixtures/snapshots/murano device enables and lists.webmock +0 -78
  143. data/spec/fixtures/snapshots/murano device writes and reads.webmock +0 -136
  144. data/spec/fixtures/snapshots/murano domain show domain.webmock +0 -101
  145. data/spec/fixtures/snapshots/murano element edit unknown as unknown element.webmock +0 -43
  146. data/spec/fixtures/snapshots/murano element show --help.webmock +0 -9
  147. data/spec/fixtures/snapshots/murano element show as csv.webmock +0 -43
  148. data/spec/fixtures/snapshots/murano element show as default-table.webmock +0 -43
  149. data/spec/fixtures/snapshots/murano element show as json.webmock +0 -43
  150. data/spec/fixtures/snapshots/murano element show as table truncate.webmock +0 -43
  151. data/spec/fixtures/snapshots/murano element show as table wrap.webmock +0 -43
  152. data/spec/fixtures/snapshots/murano element show as yaml.webmock +0 -43
  153. data/spec/fixtures/snapshots/murano element show using ambiguous name.webmock +0 -43
  154. data/spec/fixtures/snapshots/murano element without project usage.webmock +0 -9
  155. data/spec/fixtures/snapshots/murano exchange with project list as json.webmock +0 -59
  156. data/spec/fixtures/snapshots/murano exchange with project list as table.webmock +0 -59
  157. data/spec/fixtures/snapshots/murano exchange with project list fewer fields.webmock +0 -59
  158. data/spec/fixtures/snapshots/murano exchange with project list only ids.webmock +0 -59
  159. data/spec/fixtures/snapshots/murano exchange with project list output to file.webmock +0 -59
  160. data/spec/fixtures/snapshots/murano exchange with project list purchase is already added ID.webmock +0 -83
  161. data/spec/fixtures/snapshots/murano exchange with project list purchase is ambiguous name.webmock +0 -59
  162. data/spec/fixtures/snapshots/murano exchange without project help.webmock +0 -9
  163. data/spec/fixtures/snapshots/murano help using commander as --help.webmock +0 -9
  164. data/spec/fixtures/snapshots/murano help using commander no args.webmock +0 -9
  165. data/spec/fixtures/snapshots/murano help using subshell no args.webmock +0 -9
  166. data/spec/fixtures/snapshots/murano help using subshell with --help.webmock +0 -9
  167. data/spec/fixtures/snapshots/murano init Won't init in HOME (gracefully).webmock +0 -9
  168. data/spec/fixtures/snapshots/murano init in empty directory with existing project.webmock +0 -201
  169. data/spec/fixtures/snapshots/murano init in empty directory without existing project.webmock +0 -193
  170. data/spec/fixtures/snapshots/murano init in existing project directory with ProjectFile.webmock +0 -213
  171. data/spec/fixtures/snapshots/murano init in existing project directory with SolutionFile 0.2.0.webmock +0 -213
  172. data/spec/fixtures/snapshots/murano init in existing project directory with SolutionFile 0.3.0.webmock +0 -213
  173. data/spec/fixtures/snapshots/murano init in existing project directory without ProjectFile.webmock +0 -213
  174. data/spec/fixtures/snapshots/murano keystore can call other commands.webmock +0 -108
  175. data/spec/fixtures/snapshots/murano keystore clearAll.webmock +0 -124
  176. data/spec/fixtures/snapshots/murano keystore deletes.webmock +0 -112
  177. data/spec/fixtures/snapshots/murano keystore gets.webmock +0 -96
  178. data/spec/fixtures/snapshots/murano keystore infos.webmock +0 -96
  179. data/spec/fixtures/snapshots/murano keystore lists.webmock +0 -96
  180. data/spec/fixtures/snapshots/murano link with project links and lists.webmock +0 -149
  181. data/spec/fixtures/snapshots/murano link with project unlinks.webmock +0 -165
  182. data/spec/fixtures/snapshots/murano link without project help.webmock +0 -9
  183. data/spec/fixtures/snapshots/murano link without project subshell vs inline using commander will not list.webmock +0 -27
  184. data/spec/fixtures/snapshots/murano link without project subshell vs inline using subshell will not list.webmock +0 -27
  185. data/spec/fixtures/snapshots/murano logs when project is setup tail log.webmock +0 -9
  186. data/spec/fixtures/snapshots/murano password Lists when no file.webmock +0 -9
  187. data/spec/fixtures/snapshots/murano password deletes a password.webmock +0 -9
  188. data/spec/fixtures/snapshots/murano password sets a password.webmock +0 -9
  189. data/spec/fixtures/snapshots/murano product setting Writes (using Device2.identity_format) a forced string value on STDIN.webmock +0 -90
  190. data/spec/fixtures/snapshots/murano product setting Writes (using Device2.identity_format) a forced string value.webmock +0 -90
  191. data/spec/fixtures/snapshots/murano product setting Writes (using Device2.identity_format) a number value fiftyHalf.webmock +0 -64
  192. data/spec/fixtures/snapshots/murano product setting Writes (using Device2.identity_format) a number value float 12.67.webmock +0 -90
  193. data/spec/fixtures/snapshots/murano product setting Writes (using Device2.identity_format) a number value integer 12.webmock +0 -90
  194. data/spec/fixtures/snapshots/murano product setting Writes (using Device2.identity_format) a number value on STDIN.webmock +0 -90
  195. data/spec/fixtures/snapshots/murano product setting Writes (using Device2.identity_format) a string value.webmock +0 -90
  196. data/spec/fixtures/snapshots/murano product setting Writes (using Device2.identity_format) merges into a dictionary.webmock +0 -90
  197. data/spec/fixtures/snapshots/murano single sync without ProjectFile syncdown.webmock +0 -322
  198. data/spec/fixtures/snapshots/murano status with ProjectFile status.webmock +0 -153
  199. data/spec/fixtures/snapshots/murano status with Solutionfile 0.2.0 status.webmock +0 -153
  200. data/spec/fixtures/snapshots/murano status with Solutionfile 0.3.0 status.webmock +0 -153
  201. data/spec/fixtures/snapshots/murano status without ProjectFile matches file path.webmock +0 -153
  202. data/spec/fixtures/snapshots/murano status without ProjectFile matches route.webmock +0 -153
  203. data/spec/fixtures/snapshots/murano status without ProjectFile status.webmock +0 -153
  204. data/spec/fixtures/snapshots/murano syncdown stubbed without ProjectFile syncdown.webmock +0 -151
  205. data/spec/fixtures/snapshots/murano syncdown without ProjectFile syncdown.webmock +0 -479
  206. data/spec/fixtures/snapshots/murano syncup without ProjectFile syncup.webmock +0 -357
  207. data/spec/fixtures/snapshots/murano token with project list as table.webmock +0 -9
  208. data/spec/fixtures/snapshots/murano token without project help.webmock +0 -9
  209. data/spec/fixtures/snapshots/murano usage show usage.webmock +0 -93
  210. data/spec/fixtures/syncable_conflict/services/devdata.lua +0 -18
  211. data/spec/fixtures/syncable_conflict/services/timers.lua +0 -4
  212. data/spec/fixtures/syncable_content/assets/icon.png +0 -0
  213. data/spec/fixtures/syncable_content/assets/index.html +0 -0
  214. data/spec/fixtures/syncable_content/assets/js/script.js +0 -0
  215. data/spec/fixtures/syncable_content/modules/table_util.lua +0 -58
  216. data/spec/fixtures/syncable_content/routes/manyRoutes.lua +0 -11
  217. data/spec/fixtures/syncable_content/routes/singleRoute.lua +0 -5
  218. data/spec/fixtures/websocket/README.rst +0 -110
  219. data/spec/fixtures/websocket/logs_blather.rb +0 -27
  220. data/spec/fixtures/websocket/logs_faker.rb +0 -153
  221. data/spec/fixtures/websocket/simple_connection.rb +0 -45
  222. data/spec/fixtures/websocket/simple_options.rb +0 -77
  223. data/spec/fixtures/websocket/simple_server.rb +0 -69
  224. data/spec/fixtures/websocket/wss-echo.rb +0 -48
  225. data/spec/fixtures/websocket/wss-fake-logs.rb +0 -20
  226. data/spec/spec_helper.rb +0 -131
  227. data/spec/variegated_TruthyFalsey_spec.rb +0 -29
  228. data/spec/webmock_snapshot.rb +0 -296
@@ -1,20 +0,0 @@
1
- {
2
- "default_page": "index.html",
3
- "assets": "public",
4
- "routes": "sample_api.lua",
5
- "modules": {
6
- "auth": "modules/util.lua",
7
- "debug": "modules/debug.lua",
8
- "listen": "modules/listen.lua"
9
- },
10
- "services": {
11
- "device": {
12
- "datapoint": "event_handler/product.lua"
13
- },
14
- "timer": {
15
- "timer": "event_handler/timer.lua"
16
- }
17
- },
18
- "cors": {"origin": ["http://localhost:*"]},
19
- "version": "0.3.0"
20
- }
@@ -1,19 +0,0 @@
1
- {
2
- "default_page": "index.html",
3
- "assets": "public",
4
- "modules": {
5
- "auth": "modules/util.lua",
6
- "debug": "modules/debug.lua",
7
- "listen": "modules/listen.lua"
8
- },
9
- "services": {
10
- "device": {
11
- "datapoint": "event_handler/product.lua"
12
- },
13
- "timer": {
14
- "timer": "event_handler/timer.lua"
15
- }
16
- },
17
- "cors": {"origin": ["http://localhost:*"]},
18
- "version": "0.3.0"
19
- }
@@ -1,20 +0,0 @@
1
- {
2
- "default_page": "index.html",
3
- "assets": "public",
4
- "routes": "sample_api.lua",
5
- "modules": {
6
- "auth": "modules/util.lua",
7
- "debug": "modules/debug.lua",
8
- "listen": "modules/listen.lua"
9
- },
10
- "services": {
11
- "device": {
12
- "datapoint": "event_handler/product.lua"
13
- },
14
- "timer": {
15
- "timer": "event_handler/timer.lua"
16
- }
17
- },
18
- "cors": {"origin": ["http://localhost:*"]},
19
- "version": "0.3"
20
- }
@@ -1,20 +0,0 @@
1
- {
2
- "default_page": "index.html",
3
- "file_dir": "public",
4
- "custom_api": "sample_api.lua",
5
- "custom_api_hook": "_init",
6
- "modules": {
7
- "auth": "modules/util.lua",
8
- "debug": "modules/debug.lua",
9
- "listen": "modules/listen.lua"
10
- },
11
- "event_handler": {
12
- "device": {
13
- "datapoint": "event_handler/product.lua"
14
- },
15
- "timer": {
16
- "timer": "event_handler/timer.lua"
17
- }
18
- },
19
- "cors": {"origin": ["http://localhost:*"]}
20
- }
@@ -1,6 +0,0 @@
1
- {
2
- "email": "test@user.account",
3
- "password": "gibblygook",
4
- "solution_id": "ABCDEFG",
5
- "product_id": "HIJKLMNOP"
6
- }
@@ -1,9 +0,0 @@
1
- [solution]
2
- id = XXXXXXXXXX
3
-
4
- [test]
5
- bob = build
6
-
7
- [s-fDEADBEEFGAEG]
8
- spec = bobo.yaml
9
-
@@ -1,57 +0,0 @@
1
- [tool]
2
- verbose = false
3
- debug = false
4
- developer = false
5
- dry = false
6
- fullerror = false
7
- outformat = best
8
- ascii = false
9
- curldebug = false
10
- curlfile =
11
- curlfancy = false
12
- no-page = false
13
- no-progress = false
14
- show-password = false
15
- skip-managed = false
16
-
17
- [net]
18
- host = bizapi.hosted.exosite.io
19
- protocol = https
20
-
21
- [location]
22
- base = <%= File.realpath(@project_dir) %>
23
- files = assets
24
- endpoints = endpoints
25
- modules = modules
26
- eventhandlers = services
27
- resources = specs/resources.yaml
28
- cors = cors.yaml
29
-
30
- [sync]
31
- bydefault = files
32
-
33
- [files]
34
- default_page = index.html
35
- searchFor = **/*
36
- ignoring =
37
-
38
- [endpoints]
39
- searchFor = {,../endpoints}/*.lua {,../endpoints}/*/*.lua
40
- ignoring = *_test.lua *_spec.lua .*
41
-
42
- [eventhandler]
43
- searchFor = *.lua */*.lua {../eventhandlers,../event_handler}/*.lua {../eventhandlers,../event_handler}/*/*.lua
44
- ignoring = *_test.lua *_spec.lua .*
45
- skiplist = device.service_call device2.event interface webservice websocket
46
- undeletable = *.event timer.timer tsdb.exportJob user.account config.service config.status
47
-
48
- [modules]
49
- searchFor = *.lua **/*.lua
50
- ignoring = *_test.lua *_spec.lua .*
51
- no-nesting = false
52
-
53
- [diff]
54
- cmd = <%= Gem.win_platform? ? 'fc' : 'diff -u' %>
55
-
56
- [postgresql]
57
- migrations_dir = sql-migrations
@@ -1 +0,0 @@
1
- {"tiers":[],"bizid":"55cop31gs89","access":"private","attachment":{},"contact":"b14842353d6177f","description":"For testing Murano CLI element-edit.\n\nTEST2222\n\nTEST MORE","image":{"detail":{"color":"#224123","filename":"","url":""},"thumbnail":{"color":"#224655","filename":"xxx","url":""}},"markdown":"AxxxxAA2333BBBCCC\n","name":"MUR-6407 Test Element","source":{"from":"service","name":"mur6407testelement","url":"https://testtesttest.apps.exosite-dev.io/swagger-mur-6407.yaml"},"specs":"swagger: \"2.0\"\n\n################################################################################\n# Service Metadata #\n################################################################################\ninfo:\n version: \"1.0\"\n title: Transformer\n description: |\n This service is for Transforming SignalData.\n contact:\n name: Exosite Exosite Exosite Exosite\n email: exosite@exosite.com\n\n################################################################################\n# API Information #\n################################################################################\n\n# A hostname with a valid, signed, and active TSL certificate is required.\nhost: transformer-dev.hosted.exosite.io\nbasePath: /api/v1\nschemes:\n - https\nconsumes:\n - application/json\nproduces:\n - application/json\n\n################################################################################\n# Solution lifecycle Events #\n################################################################################\n# Following Operation should generally be restricted with \"x-exosite-restricted: true\"\nx-exosite-init: createSolution # Triggered by Murano when this service is enabled in a solution\nx-exosite-info: getSolution # Triggered by Murano to retrieve custom information about the service solution namespace\nx-exosite-update: updateSolution # Triggered by Murano when the solution service configuration is updated\nx-exosite-gc: delSolution # Triggered by Murano when the service is removed from a solution or if the solution is deleted\n\n################################################################################\n# Service Configuration Parameters #\n################################################################################\nx-exosite-config-parameters:\n - name: maximumTTL\n type: number\n description: Maximum number of times a message can propagate through\n required: true # Indicates this parameter is required during configuration\n - name: authToken\n type: string\n description: This is a placeholder for a potential future feature.\n required: true # the only option that works is true…\n - name: eventURI\n type: string\n description: This is a placeholder for a potential future feature.\n required: true # the only option that works is true…\n\n################################################################################\n# Operations #\n################################################################################\npaths:\n /:\n get:\n description: Alive check\n operationId: alive\n x-exosite-restricted: true # Indicate that this operation cannot be called from user scripts\n responses:\n \"200\":\n description: Solution successfully created\n default:\n description: Error\n schema:\n $ref: '#/definitions/ErrorResponse'\n\n # Administration endpoint used by Murano solution lifecycle events\n # Those operation uses the \"x-exosite-restricted\" to prevent the user to access them directly\n /{solution_id}:\n parameters:\n - name: solution_id\n x-exosite-from: solution_id # Indicate this value is injected from the user solution_id\n x-exosite-restricted: true # Indicate the user cannot provide this parameter\n type: string\n in: path\n description: The solution identifier. Set automatically.\n required: true\n post:\n description: Used by Murano to create a solution namespace.\n operationId: createSolution\n x-exosite-restricted: true # Indicate that this operation cannot be called from user scripts\n parameters:\n - name: settings\n in: body\n description: The service settings for a solution.\n required: true\n schema:\n $ref: \"#/definitions/SolutionSettings\"\n responses:\n \"200\":\n description: Solution successfully created\n default:\n description: Error\n schema:\n $ref: '#/definitions/ErrorResponse'\n get:\n description: Used by Murano to get the solution settings.\n operationId: getSolution\n responses:\n \"200\":\n description: Solution settings\n schema:\n $ref: \"#/definitions/SolutionInfo\"\n default:\n description: Error\n schema:\n $ref: '#/definitions/ErrorResponse'\n put:\n description: Used by Murano to update the solution settings.\n operationId: updateSolution\n x-exosite-restricted: true\n parameters:\n - name: settings\n in: body\n description: The service settings for a solution.\n required: true\n schema:\n $ref: \"#/definitions/SolutionSettings\"\n responses:\n \"205\":\n description: Settings updated\n default:\n description: Error\n schema:\n $ref: '#/definitions/ErrorResponse'\n delete:\n description: Used by Murano to remove a solution and clean its namespace.\n operationId: delSolution\n x-exosite-restricted: true\n responses:\n \"205\":\n description: Solution successfully removed.\n default:\n description: Error\n schema:\n $ref: '#/definitions/ErrorResponse'\n\n # Service operations available from scripting\n /{solution_id}/transform:\n parameters:\n - name: solution_id\n type: string\n in: path\n description: The solution identifier. Set automatically by Murano at service call.\n x-exosite-from: solution_id # Indicate this value is injected from the user solution_id\n x-exosite-restricted: true # Indicate the user cannot provide this parameter\n required: true\n post:\n description: Create Transform\n operationId: create\n x-exosite-example: |\n local res = Transformer.create{\n subscribe = {\"topic.name\"},\n tags = {\"asset-42\"},\n select = \"value * 24\"\n }\n -- res.id is the UUID assigned to the new transform.\n\n parameters:\n - name: body\n in: body\n description: The Transform to create.\n required: true\n schema:\n $ref: \"#/definitions/Transformation\"\n responses:\n \"200\":\n description: Transform successfully saved\n schema:\n type: object\n description: Transformation Id Object\n properties:\n id:\n description: Transform ID\n type: string\n default:\n description: Error\n schema:\n $ref: '#/definitions/ErrorResponse'\n get:\n description: Retrieve Transform from the solution namespace.\n operationId: list\n x-exosite-example: |\n\n -- list Transforms with all of a specified tag\n tag1 = \"lkj32lk3lkj3\"\n tag2 = \"lkj32lk3xyds\"\n rule = Transformer.list({all={tag1, tag2}})\n\n --------------------------------------------------\n\n -- list Transforms with any of a specified tag\n tag1 = \"lkj32lk3lkj3\"\n tag2 = \"lkj32lk3xyds\"\n rule = Transformer.list({any={tag1, tag2}})\n\n --------------------------------------------------\n\n -- list Transforms with any of a specified tag and all of another tag\n tag1 = \"lkj32lk3lkj3\"\n tag2 = \"lkj32lk3xyds\"\n rule = Transformer.list({any={tag2, tag3}, all={tag1, tag4}})\n -- That is, (tag1 && tag4 && (tag2 || tag3))\n\n parameters:\n - name: tags_all\n in: query\n description: If present, only return Transforms with all of the listed tags\n type: array\n items:\n type: string\n - name: tags_any\n in: query\n description: If present, only return Transforms with any of the listed tags\n type: array\n items:\n type: string\n - name: limit\n in: query\n description: Maximum results to return\n type: integer\n - name: offset\n in: query\n description: Offset into results\n type: integer\n responses:\n \"200\":\n description: Successfully returned the Transforms for this solution\n schema:\n $ref: \"#/definitions/TransformationArray\"\n default:\n description: Error\n schema:\n $ref: '#/definitions/ErrorResponse'\n\n delete:\n description: Delete multiple Transforms by matching tags\n operationId: deleteByTags\n x-exosite-example: |\n\n -- delete Transform with all of a specified tag\n tag1 = \"lkj32lk3lkj3\"\n tag2 = \"lkj32lk3xyds\"\n rule = Transformer.deleteByTags({all={tag1, tag2}})\n\n --------------------------------------------------\n\n -- delete Transform with any of a specified tag\n tag1 = \"lkj32lk3lkj3\"\n tag2 = \"lkj32lk3xyds\"\n rule = Transformer.deleteByTags({any={tag1, tag2}})\n\n --------------------------------------------------\n\n -- delete Transform with any of a specified tag and all of another tag\n tag1 = \"lkj32lk3lkj3\"\n tag2 = \"lkj32lk3xyds\"\n rule = Transformer.deleteByTags({any={tag2, tag3}, all={tag1, tag4}})\n -- That is, (tag1 && tag4 && (tag2 || tag3))\n parameters:\n - name: all\n in: query\n description: If present, only delete Transforms with all listed tags\n required: false\n type: array\n items:\n type: string\n - name: any\n in: query\n description: Delete Transforms with any listed tags\n required: true\n type: array\n items:\n type: string\n responses:\n \"205\":\n description\n","type":"service","tags":[],"active":true,"approval":"approved","elementId":"5ae3600e313d01708c2a6e0f"}
@@ -1,282 +0,0 @@
1
- swagger: "2.0"
2
-
3
- ################################################################################
4
- # Service Metadata #
5
- ################################################################################
6
- info:
7
- version: "1.0"
8
- title: Transformer
9
- description: |
10
- This service is for Transforming SignalData.
11
- contact:
12
- name: Exosite Exosite Exosite Exosite
13
- email: exosite@exosite.com
14
-
15
- ################################################################################
16
- # API Information #
17
- ################################################################################
18
-
19
- # A hostname with a valid, signed, and active TSL certificate is required.
20
- host: transformer-dev.hosted.exosite.io
21
- basePath: /api/v1
22
- schemes:
23
- - https
24
- consumes:
25
- - application/json
26
- produces:
27
- - application/json
28
-
29
- ################################################################################
30
- # Solution lifecycle Events #
31
- ################################################################################
32
- # Following Operation should generally be restricted with "x-exosite-restricted: true"
33
- x-exosite-init: createSolution # Triggered by Murano when this service is enabled in a solution
34
- x-exosite-info: getSolution # Triggered by Murano to retrieve custom information about the service solution namespace
35
- x-exosite-update: updateSolution # Triggered by Murano when the solution service configuration is updated
36
- x-exosite-gc: delSolution # Triggered by Murano when the service is removed from a solution or if the solution is deleted
37
-
38
- ################################################################################
39
- # Service Configuration Parameters #
40
- ################################################################################
41
- x-exosite-config-parameters:
42
- - name: maximumTTL
43
- type: number
44
- description: Maximum number of times a message can propagate through
45
- required: true # Indicates this parameter is required during configuration
46
- - name: authToken
47
- type: string
48
- description: This is a placeholder for a potential future feature.
49
- required: true # the only option that works is true…
50
- - name: eventURI
51
- type: string
52
- description: This is a placeholder for a potential future feature.
53
- required: true # the only option that works is true…
54
-
55
- ################################################################################
56
- # Operations #
57
- ################################################################################
58
- paths:
59
- /:
60
- get:
61
- description: Alive check
62
- operationId: alive
63
- x-exosite-restricted: true # Indicate that this operation cannot be called from user scripts
64
- responses:
65
- "200":
66
- description: Solution successfully created
67
- default:
68
- description: Error
69
- schema:
70
- $ref: '#/definitions/ErrorResponse'
71
-
72
- # Administration endpoint used by Murano solution lifecycle events
73
- # Those operation uses the "x-exosite-restricted" to prevent the user to access them directly
74
- /{solution_id}:
75
- parameters:
76
- - name: solution_id
77
- x-exosite-from: solution_id # Indicate this value is injected from the user solution_id
78
- x-exosite-restricted: true # Indicate the user cannot provide this parameter
79
- type: string
80
- in: path
81
- description: The solution identifier. Set automatically.
82
- required: true
83
- post:
84
- description: Used by Murano to create a solution namespace.
85
- operationId: createSolution
86
- x-exosite-restricted: true # Indicate that this operation cannot be called from user scripts
87
- parameters:
88
- - name: settings
89
- in: body
90
- description: The service settings for a solution.
91
- required: true
92
- schema:
93
- $ref: "#/definitions/SolutionSettings"
94
- responses:
95
- "200":
96
- description: Solution successfully created
97
- default:
98
- description: Error
99
- schema:
100
- $ref: '#/definitions/ErrorResponse'
101
- get:
102
- description: Used by Murano to get the solution settings.
103
- operationId: getSolution
104
- responses:
105
- "200":
106
- description: Solution settings
107
- schema:
108
- $ref: "#/definitions/SolutionInfo"
109
- default:
110
- description: Error
111
- schema:
112
- $ref: '#/definitions/ErrorResponse'
113
- put:
114
- description: Used by Murano to update the solution settings.
115
- operationId: updateSolution
116
- x-exosite-restricted: true
117
- parameters:
118
- - name: settings
119
- in: body
120
- description: The service settings for a solution.
121
- required: true
122
- schema:
123
- $ref: "#/definitions/SolutionSettings"
124
- responses:
125
- "205":
126
- description: Settings updated
127
- default:
128
- description: Error
129
- schema:
130
- $ref: '#/definitions/ErrorResponse'
131
- delete:
132
- description: Used by Murano to remove a solution and clean its namespace.
133
- operationId: delSolution
134
- x-exosite-restricted: true
135
- responses:
136
- "205":
137
- description: Solution successfully removed.
138
- default:
139
- description: Error
140
- schema:
141
- $ref: '#/definitions/ErrorResponse'
142
-
143
- # Service operations available from scripting
144
- /{solution_id}/transform:
145
- parameters:
146
- - name: solution_id
147
- type: string
148
- in: path
149
- description: The solution identifier. Set automatically by Murano at service call.
150
- x-exosite-from: solution_id # Indicate this value is injected from the user solution_id
151
- x-exosite-restricted: true # Indicate the user cannot provide this parameter
152
- required: true
153
- post:
154
- description: Create Transform
155
- operationId: create
156
- x-exosite-example: |
157
- local res = Transformer.create{
158
- subscribe = {"topic.name"},
159
- tags = {"asset-42"},
160
- select = "value * 24"
161
- }
162
- -- res.id is the UUID assigned to the new transform.
163
-
164
- parameters:
165
- - name: body
166
- in: body
167
- description: The Transform to create.
168
- required: true
169
- schema:
170
- $ref: "#/definitions/Transformation"
171
- responses:
172
- "200":
173
- description: Transform successfully saved
174
- schema:
175
- type: object
176
- description: Transformation Id Object
177
- properties:
178
- id:
179
- description: Transform ID
180
- type: string
181
- default:
182
- description: Error
183
- schema:
184
- $ref: '#/definitions/ErrorResponse'
185
- get:
186
- description: Retrieve Transform from the solution namespace.
187
- operationId: list
188
- x-exosite-example: |
189
-
190
- -- list Transforms with all of a specified tag
191
- tag1 = "lkj32lk3lkj3"
192
- tag2 = "lkj32lk3xyds"
193
- rule = Transformer.list({all={tag1, tag2}})
194
-
195
- --------------------------------------------------
196
-
197
- -- list Transforms with any of a specified tag
198
- tag1 = "lkj32lk3lkj3"
199
- tag2 = "lkj32lk3xyds"
200
- rule = Transformer.list({any={tag1, tag2}})
201
-
202
- --------------------------------------------------
203
-
204
- -- list Transforms with any of a specified tag and all of another tag
205
- tag1 = "lkj32lk3lkj3"
206
- tag2 = "lkj32lk3xyds"
207
- rule = Transformer.list({any={tag2, tag3}, all={tag1, tag4}})
208
- -- That is, (tag1 && tag4 && (tag2 || tag3))
209
-
210
- parameters:
211
- - name: tags_all
212
- in: query
213
- description: If present, only return Transforms with all of the listed tags
214
- type: array
215
- items:
216
- type: string
217
- - name: tags_any
218
- in: query
219
- description: If present, only return Transforms with any of the listed tags
220
- type: array
221
- items:
222
- type: string
223
- - name: limit
224
- in: query
225
- description: Maximum results to return
226
- type: integer
227
- - name: offset
228
- in: query
229
- description: Offset into results
230
- type: integer
231
- responses:
232
- "200":
233
- description: Successfully returned the Transforms for this solution
234
- schema:
235
- $ref: "#/definitions/TransformationArray"
236
- default:
237
- description: Error
238
- schema:
239
- $ref: '#/definitions/ErrorResponse'
240
-
241
- delete:
242
- description: Delete multiple Transforms by matching tags
243
- operationId: deleteByTags
244
- x-exosite-example: |
245
-
246
- -- delete Transform with all of a specified tag
247
- tag1 = "lkj32lk3lkj3"
248
- tag2 = "lkj32lk3xyds"
249
- rule = Transformer.deleteByTags({all={tag1, tag2}})
250
-
251
- --------------------------------------------------
252
-
253
- -- delete Transform with any of a specified tag
254
- tag1 = "lkj32lk3lkj3"
255
- tag2 = "lkj32lk3xyds"
256
- rule = Transformer.deleteByTags({any={tag1, tag2}})
257
-
258
- --------------------------------------------------
259
-
260
- -- delete Transform with any of a specified tag and all of another tag
261
- tag1 = "lkj32lk3lkj3"
262
- tag2 = "lkj32lk3xyds"
263
- rule = Transformer.deleteByTags({any={tag2, tag3}, all={tag1, tag4}})
264
- -- That is, (tag1 && tag4 && (tag2 || tag3))
265
- parameters:
266
- - name: all
267
- in: query
268
- description: If present, only delete Transforms with all listed tags
269
- required: false
270
- type: array
271
- items:
272
- type: string
273
- - name: any
274
- in: query
275
- description: Delete Transforms with any listed tags
276
- required: true
277
- type: array
278
- items:
279
- type: string
280
- responses:
281
- "205":
282
- description