@codiac.io/codiac-cli 1.3.181 → 1.3.183

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 (276) hide show
  1. package/README.md +1 -1
  2. package/dist/apis/codiac-api/gen/client.d.ts +5 -1
  3. package/dist/apis/codiac-api/gen/client.js +12 -0
  4. package/dist/apis/codiac-api/gen/client.js.map +1 -1
  5. package/dist/apis/codiac-api/gen/contracts/types.gen.d.ts +25 -0
  6. package/dist/apis/codiac-api/gen/contracts/types.gen.js.map +1 -1
  7. package/dist/apis/codiac-api/i-client.d.ts +4 -0
  8. package/dist/apis/codiac-api-nats/gen/client.d.ts +4 -0
  9. package/dist/apis/codiac-api-nats/gen/client.js +17 -1
  10. package/dist/apis/codiac-api-nats/gen/client.js.map +1 -1
  11. package/dist/apis/codiac-api-nats/gen/contracts/types.gen.d.ts +25 -0
  12. package/dist/apis/codiac-api-nats/gen/contracts/types.gen.js.map +1 -1
  13. package/dist/apis/codiac-relay/gen/client.d.ts +16 -3
  14. package/dist/apis/codiac-relay/gen/client.js +58 -1
  15. package/dist/apis/codiac-relay/gen/client.js.map +1 -1
  16. package/dist/apis/codiac-relay/gen/contracts/types.gen.d.ts +173 -7
  17. package/dist/apis/codiac-relay/gen/contracts/types.gen.js.map +1 -1
  18. package/dist/apis/codiac-relay/i-client.d.ts +8 -0
  19. package/dist/apis/codiac-relay-nats/gen/client.d.ts +15 -7
  20. package/dist/apis/codiac-relay-nats/gen/client.js +86 -19
  21. package/dist/apis/codiac-relay-nats/gen/client.js.map +1 -1
  22. package/dist/apis/codiac-relay-nats/gen/contracts/types.gen.d.ts +151 -15
  23. package/dist/apis/codiac-relay-nats/gen/contracts/types.gen.js +4 -4
  24. package/dist/apis/codiac-relay-nats/gen/contracts/types.gen.js.map +1 -1
  25. package/dist/apis/codiac-relay-nats/gen/contracts.ng.d.ts +6 -0
  26. package/dist/apis/codiac-relay-nats/gen/contracts.ng.js +1 -0
  27. package/dist/apis/codiac-relay-nats/gen/contracts.ng.js.map +1 -1
  28. package/dist/bootstrapper-for-api-clients.js +14 -2
  29. package/dist/bootstrapper-for-api-clients.js.map +1 -1
  30. package/dist/cli-common/built-in-cli-user-input.d.ts +2 -1
  31. package/dist/cli-common/built-in-cli-user-input.js +52 -1
  32. package/dist/cli-common/built-in-cli-user-input.js.map +1 -1
  33. package/dist/cli-common/entities/prompt-choice.d.ts +2 -7
  34. package/dist/cli-common/mock-ui.d.ts +2 -1
  35. package/dist/cli-common/mock-ui.js +3 -0
  36. package/dist/cli-common/mock-ui.js.map +1 -1
  37. package/dist/codiac-constants.d.ts +3 -0
  38. package/dist/codiac-constants.js +3 -0
  39. package/dist/codiac-constants.js.map +1 -1
  40. package/dist/command-base-enterprise.d.ts +23 -2
  41. package/dist/command-base-enterprise.js +82 -26
  42. package/dist/command-base-enterprise.js.map +1 -1
  43. package/dist/command-base-exec.js +4 -2
  44. package/dist/command-base-exec.js.map +1 -1
  45. package/dist/commands/asset/deploy.d.ts +2 -1
  46. package/dist/commands/asset/deploy.js +3 -2
  47. package/dist/commands/asset/deploy.js.map +1 -1
  48. package/dist/commands/asset/list.d.ts +26 -7
  49. package/dist/commands/asset/list.js +127 -112
  50. package/dist/commands/asset/list.js.map +1 -1
  51. package/dist/commands/asset/probe/create.d.ts +26 -5
  52. package/dist/commands/asset/probe/create.js +182 -164
  53. package/dist/commands/asset/probe/create.js.map +1 -1
  54. package/dist/commands/asset/recycle.js +3 -4
  55. package/dist/commands/asset/recycle.js.map +1 -1
  56. package/dist/commands/asset/undeploy.d.ts +24 -9
  57. package/dist/commands/asset/undeploy.js +162 -161
  58. package/dist/commands/asset/undeploy.js.map +1 -1
  59. package/dist/commands/asset/view.js +1 -1
  60. package/dist/commands/asset/view.js.map +1 -1
  61. package/dist/commands/asset/volume/create.d.ts +24 -13
  62. package/dist/commands/asset/volume/create.js +153 -158
  63. package/dist/commands/asset/volume/create.js.map +1 -1
  64. package/dist/commands/asset/volume/delete.d.ts +21 -7
  65. package/dist/commands/asset/volume/delete.js +107 -101
  66. package/dist/commands/asset/volume/delete.js.map +1 -1
  67. package/dist/commands/asset/volume/list.d.ts +23 -9
  68. package/dist/commands/asset/volume/list.js +74 -54
  69. package/dist/commands/asset/volume/list.js.map +1 -1
  70. package/dist/commands/cabinet/cluster/attach.d.ts +32 -0
  71. package/dist/commands/cabinet/cluster/attach.js +144 -0
  72. package/dist/commands/cabinet/cluster/attach.js.map +1 -0
  73. package/dist/commands/cabinet/create.d.ts +1 -0
  74. package/dist/commands/cabinet/create.js +5 -1
  75. package/dist/commands/cabinet/create.js.map +1 -1
  76. package/dist/commands/cabinet/list.d.ts +27 -6
  77. package/dist/commands/cabinet/list.js +130 -121
  78. package/dist/commands/cabinet/list.js.map +1 -1
  79. package/dist/commands/cabinet/obliterate.d.ts +1 -0
  80. package/dist/commands/cabinet/obliterate.js +5 -1
  81. package/dist/commands/cabinet/obliterate.js.map +1 -1
  82. package/dist/commands/cabinet/restore.d.ts +36 -0
  83. package/dist/commands/cabinet/restore.js +186 -0
  84. package/dist/commands/cabinet/restore.js.map +1 -0
  85. package/dist/commands/cluster/agent/configure.d.ts +47 -0
  86. package/dist/commands/cluster/agent/configure.js +320 -0
  87. package/dist/commands/cluster/agent/configure.js.map +1 -0
  88. package/dist/commands/cluster/agent/install.d.ts +32 -0
  89. package/dist/commands/cluster/agent/install.js +152 -0
  90. package/dist/commands/cluster/agent/install.js.map +1 -0
  91. package/dist/commands/cluster/agent/uninstall.d.ts +29 -0
  92. package/dist/commands/cluster/agent/uninstall.js +130 -0
  93. package/dist/commands/cluster/agent/uninstall.js.map +1 -0
  94. package/dist/commands/cluster/bootstrap.d.ts +50 -0
  95. package/dist/commands/cluster/bootstrap.js +310 -0
  96. package/dist/commands/cluster/bootstrap.js.map +1 -0
  97. package/dist/commands/cluster/connect.d.ts +0 -5
  98. package/dist/commands/cluster/connect.js +1 -26
  99. package/dist/commands/cluster/connect.js.map +1 -1
  100. package/dist/commands/cluster/install.d.ts +45 -0
  101. package/dist/commands/cluster/install.js +224 -0
  102. package/dist/commands/cluster/install.js.map +1 -0
  103. package/dist/commands/cluster/stack/capture.js +0 -2
  104. package/dist/commands/cluster/stack/capture.js.map +1 -1
  105. package/dist/commands/cluster/stack/install.d.ts +40 -0
  106. package/dist/commands/cluster/stack/install.js +196 -0
  107. package/dist/commands/cluster/stack/install.js.map +1 -0
  108. package/dist/commands/cluster/start.d.ts +0 -5
  109. package/dist/commands/cluster/start.js +1 -27
  110. package/dist/commands/cluster/start.js.map +1 -1
  111. package/dist/commands/cluster/stop.d.ts +0 -5
  112. package/dist/commands/cluster/stop.js +1 -27
  113. package/dist/commands/cluster/stop.js.map +1 -1
  114. package/dist/commands/config/add.d.ts +9 -11
  115. package/dist/commands/config/add.js +59 -125
  116. package/dist/commands/config/add.js.map +1 -1
  117. package/dist/commands/config/delete.d.ts +22 -11
  118. package/dist/commands/config/delete.js +28 -83
  119. package/dist/commands/config/delete.js.map +1 -1
  120. package/dist/commands/config/deploy.d.ts +26 -8
  121. package/dist/commands/config/deploy.js +169 -198
  122. package/dist/commands/config/deploy.js.map +1 -1
  123. package/dist/commands/config/import.d.ts +27 -22
  124. package/dist/commands/config/import.js +222 -253
  125. package/dist/commands/config/import.js.map +1 -1
  126. package/dist/commands/config/settings/get.d.ts +25 -14
  127. package/dist/commands/config/settings/get.js +30 -123
  128. package/dist/commands/config/settings/get.js.map +1 -1
  129. package/dist/commands/config/view.d.ts +26 -6
  130. package/dist/commands/config/view.js +112 -95
  131. package/dist/commands/config/view.js.map +1 -1
  132. package/dist/commands/csp/logout.d.ts +23 -6
  133. package/dist/commands/csp/logout.js +86 -63
  134. package/dist/commands/csp/logout.js.map +1 -1
  135. package/dist/commands/deploy.d.ts +31 -14
  136. package/dist/commands/deploy.js +264 -385
  137. package/dist/commands/deploy.js.map +1 -1
  138. package/dist/commands/enterprise/list.d.ts +22 -4
  139. package/dist/commands/enterprise/list.js +97 -67
  140. package/dist/commands/enterprise/list.js.map +1 -1
  141. package/dist/commands/env/add.d.ts +26 -7
  142. package/dist/commands/env/add.js +182 -179
  143. package/dist/commands/env/add.js.map +1 -1
  144. package/dist/commands/environment/cluster/attach.d.ts +1 -0
  145. package/dist/commands/environment/cluster/attach.js +5 -1
  146. package/dist/commands/environment/cluster/attach.js.map +1 -1
  147. package/dist/commands/environment/cluster/detach.d.ts +1 -0
  148. package/dist/commands/environment/cluster/detach.js +5 -1
  149. package/dist/commands/environment/cluster/detach.js.map +1 -1
  150. package/dist/commands/environment/create.d.ts +1 -0
  151. package/dist/commands/environment/create.js +5 -1
  152. package/dist/commands/environment/create.js.map +1 -1
  153. package/dist/commands/environment/delete.d.ts +39 -0
  154. package/dist/commands/environment/delete.js +135 -0
  155. package/dist/commands/environment/delete.js.map +1 -0
  156. package/dist/commands/environment/list.d.ts +28 -9
  157. package/dist/commands/environment/list.js +128 -167
  158. package/dist/commands/environment/list.js.map +1 -1
  159. package/dist/commands/host/map.d.ts +29 -19
  160. package/dist/commands/host/map.js +263 -324
  161. package/dist/commands/host/map.js.map +1 -1
  162. package/dist/commands/imageRegistry/capture.d.ts +12 -11
  163. package/dist/commands/imageRegistry/capture.js +49 -113
  164. package/dist/commands/imageRegistry/capture.js.map +1 -1
  165. package/dist/commands/imageRegistry/forget.d.ts +12 -11
  166. package/dist/commands/imageRegistry/forget.js +53 -114
  167. package/dist/commands/imageRegistry/forget.js.map +1 -1
  168. package/dist/commands/imageRegistry/pullSecret/set.d.ts +21 -11
  169. package/dist/commands/imageRegistry/pullSecret/set.js +184 -278
  170. package/dist/commands/imageRegistry/pullSecret/set.js.map +1 -1
  171. package/dist/commands/imageRegistry/pullSecret/unset.d.ts +19 -11
  172. package/dist/commands/imageRegistry/pullSecret/unset.js +117 -190
  173. package/dist/commands/imageRegistry/pullSecret/unset.js.map +1 -1
  174. package/dist/commands/images/add.d.ts +19 -6
  175. package/dist/commands/images/add.js +63 -53
  176. package/dist/commands/images/add.js.map +1 -1
  177. package/dist/commands/kit/create.d.ts +22 -10
  178. package/dist/commands/kit/create.js +119 -121
  179. package/dist/commands/kit/create.js.map +1 -1
  180. package/dist/commands/logout.d.ts +21 -5
  181. package/dist/commands/logout.js +44 -25
  182. package/dist/commands/logout.js.map +1 -1
  183. package/dist/commands/noc/cluster/create.js +22 -10
  184. package/dist/commands/noc/cluster/create.js.map +1 -1
  185. package/dist/commands/noc/cluster/credentials-set.d.ts +38 -0
  186. package/dist/commands/noc/cluster/credentials-set.js +174 -0
  187. package/dist/commands/noc/cluster/credentials-set.js.map +1 -0
  188. package/dist/commands/noc/cluster/define.d.ts +46 -0
  189. package/dist/commands/noc/cluster/define.js +305 -0
  190. package/dist/commands/noc/cluster/define.js.map +1 -0
  191. package/dist/commands/noc/cluster/deinit.d.ts +22 -5
  192. package/dist/commands/noc/cluster/deinit.js +99 -106
  193. package/dist/commands/noc/cluster/deinit.js.map +1 -1
  194. package/dist/commands/noc/cluster/forget.js +2 -4
  195. package/dist/commands/noc/cluster/forget.js.map +1 -1
  196. package/dist/commands/noc/cluster/grant.d.ts +20 -11
  197. package/dist/commands/noc/cluster/grant.js +94 -132
  198. package/dist/commands/noc/cluster/grant.js.map +1 -1
  199. package/dist/commands/noc/cluster/init.d.ts +25 -7
  200. package/dist/commands/noc/cluster/init.js +121 -133
  201. package/dist/commands/noc/cluster/init.js.map +1 -1
  202. package/dist/commands/noc/cluster/journal.d.ts +0 -5
  203. package/dist/commands/noc/cluster/journal.js +1 -26
  204. package/dist/commands/noc/cluster/journal.js.map +1 -1
  205. package/dist/commands/noc/cluster/list.d.ts +23 -5
  206. package/dist/commands/noc/cluster/list.js +107 -111
  207. package/dist/commands/noc/cluster/list.js.map +1 -1
  208. package/dist/commands/noc/cluster/restore.d.ts +36 -0
  209. package/dist/commands/noc/cluster/restore.js +196 -0
  210. package/dist/commands/noc/cluster/restore.js.map +1 -0
  211. package/dist/commands/portal.d.ts +21 -5
  212. package/dist/commands/portal.js +37 -36
  213. package/dist/commands/portal.js.map +1 -1
  214. package/dist/commands/secretStore/capture.d.ts +13 -11
  215. package/dist/commands/secretStore/capture.js +63 -123
  216. package/dist/commands/secretStore/capture.js.map +1 -1
  217. package/dist/commands/secretStore/forget.d.ts +13 -11
  218. package/dist/commands/secretStore/forget.js +55 -111
  219. package/dist/commands/secretStore/forget.js.map +1 -1
  220. package/dist/commands/shell/init.d.ts +15 -0
  221. package/dist/commands/shell/init.js +96 -0
  222. package/dist/commands/shell/init.js.map +1 -0
  223. package/dist/commands/snapshot/deploy.d.ts +22 -42
  224. package/dist/commands/snapshot/deploy.js +173 -269
  225. package/dist/commands/snapshot/deploy.js.map +1 -1
  226. package/dist/commands/snapshot/list.d.ts +26 -5
  227. package/dist/commands/snapshot/list.js +116 -109
  228. package/dist/commands/snapshot/list.js.map +1 -1
  229. package/dist/commands/tenant/create.d.ts +18 -13
  230. package/dist/commands/tenant/create.js +69 -69
  231. package/dist/commands/tenant/create.js.map +1 -1
  232. package/dist/commands/tenant/switch.d.ts +18 -12
  233. package/dist/commands/tenant/switch.js +65 -59
  234. package/dist/commands/tenant/switch.js.map +1 -1
  235. package/dist/commands/whereami.d.ts +18 -8
  236. package/dist/commands/whereami.js +67 -102
  237. package/dist/commands/whereami.js.map +1 -1
  238. package/dist/commands/whoami.d.ts +19 -3
  239. package/dist/commands/whoami.js +44 -13
  240. package/dist/commands/whoami.js.map +1 -1
  241. package/dist/ops/i-user-input-provider.d.ts +20 -1
  242. package/dist/ops/i-user-input-provider.js.map +1 -1
  243. package/dist/ops/test/mock-ui.d.ts +2 -1
  244. package/dist/ops/test/mock-ui.js +3 -0
  245. package/dist/ops/test/mock-ui.js.map +1 -1
  246. package/dist/ops/throwing-user-input-provider.d.ts +2 -1
  247. package/dist/ops/throwing-user-input-provider.js +3 -0
  248. package/dist/ops/throwing-user-input-provider.js.map +1 -1
  249. package/dist/relay/relay-container.js +1 -1
  250. package/dist/sdk-adapters/other/other-cluster-configurator.d.ts +24 -0
  251. package/dist/sdk-adapters/other/other-cluster-configurator.js +80 -0
  252. package/dist/sdk-adapters/other/other-cluster-configurator.js.map +1 -0
  253. package/dist/sdk-adapters/other/other-login-configurator.d.ts +24 -0
  254. package/dist/sdk-adapters/other/other-login-configurator.js +68 -0
  255. package/dist/sdk-adapters/other/other-login-configurator.js.map +1 -0
  256. package/dist/uilogic/cloud-resource-configurator-factory.js +12 -0
  257. package/dist/uilogic/cloud-resource-configurator-factory.js.map +1 -1
  258. package/dist/uilogic/lrp-watcher-predef.d.ts +2 -1
  259. package/dist/uilogic/lrp-watcher-predef.js +31 -17
  260. package/dist/uilogic/lrp-watcher-predef.js.map +1 -1
  261. package/dist/uilogic/lrp-watcher-utils.d.ts +2 -0
  262. package/dist/uilogic/lrp-watcher-utils.js +2 -0
  263. package/dist/uilogic/lrp-watcher-utils.js.map +1 -1
  264. package/dist/uilogic/rootmap-ui-utils.d.ts +18 -1
  265. package/dist/uilogic/rootmap-ui-utils.js +30 -0
  266. package/dist/uilogic/rootmap-ui-utils.js.map +1 -1
  267. package/dist/uilogic/tenant-contextualizer.js +11 -1
  268. package/dist/uilogic/tenant-contextualizer.js.map +1 -1
  269. package/dist/user-context-loader.d.ts +12 -7
  270. package/dist/user-context-loader.js +89 -43
  271. package/dist/user-context-loader.js.map +1 -1
  272. package/oclif.manifest.json +3984 -1453
  273. package/package.json +2 -2
  274. package/dist/commands/noc/cluster/recreate.d.ts +0 -28
  275. package/dist/commands/noc/cluster/recreate.js +0 -197
  276. package/dist/commands/noc/cluster/recreate.js.map +0 -1
@@ -5,283 +5,252 @@ const tslib_1 = require("tslib");
5
5
  const fs = require("fs");
6
6
  const path = require("path");
7
7
  const core_1 = require("@oclif/core");
8
- const _ = require("lodash");
9
8
  const contracts_1 = require("../../apis/codiac-api/contracts");
10
- const contracts_2 = require("@codiac.io/codiac-common/contracts");
11
- const command_base_enterprise_1 = require("../../command-base-enterprise");
9
+ const command_base_exec_1 = require("../../command-base-exec");
10
+ const config_ui_utils_1 = require("../../uilogic/config-ui-utils");
12
11
  /** The value provided as input that indicates
13
12
  * a user's desire to be prompted with a list from which choose the value(s),
14
13
  * instead of entering them manually or taking a default. */
15
14
  exports.PROMPT_ME_DESIGNATOR = "?";
16
- class ConfigAdd extends command_base_enterprise_1.CommandBaseEnterprise {
17
- run() {
18
- var _a;
15
+ class ConfigImport extends command_base_exec_1.CommandBaseExec {
16
+ captureArgs() {
17
+ var _a, _b;
19
18
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
20
- this.bootstrap();
21
- const { args, flags } = yield this.parse(ConfigAdd);
22
- (_a = this._relayContainer) === null || _a === void 0 ? void 0 : _a.ready$.subscribe((ready) => tslib_1.__awaiter(this, void 0, void 0, function* () {
23
- var _b, _c, _d, _e;
24
- try {
25
- // let setting = "rootlevel.nextlevel.Top10\\.ServiceHost";
26
- // for (let seg of setting.split(/(?<!\\)\./g)) {
27
- // this.logger.notice(seg.replace(/\\\./g, "."))
28
- // }
29
- // this._ui.prompt("hello", "hello");
30
- // this._ops.getConfigRoot(); // Verify that it's being called from within a defined project.
31
- // OpsEnterprise.bootstrap(this.ioc, { baseUrl: "" }, false);
32
- this._userCntx = yield this.establishTenantContext(this._userCntx);
33
- let rootMap = yield this.getRootMap();
34
- const interactionMode = this.getInteractionMode(flags.silent, flags.echo, flags['to-script']);
35
- let enterprise = (yield this.establishEnterpriseContext(rootMap, flags.enterprise, interactionMode)).enterprise;
36
- _.remove(rootMap.enterprises, e => e.name != enterprise.name); // trim down to match legacy conditions
37
- let enterpriseCode = enterprise.name;
38
- let asset;
39
- if (flags.asset !== undefined) {
40
- const assetName = flags.asset;
41
- let assets = enterprise.assets.filter(a => a.name === assetName);
42
- if (!Array.isArray(assets) || assets.length === 0) {
43
- const errorMsg = `Error importing: Assets does not exist: ${assetName}`;
44
- this.logger.error(errorMsg);
45
- this._ui.userMessage(errorMsg);
46
- throw new Error(errorMsg);
47
- }
48
- asset = assets[0]; // There can be only one.
49
- }
50
- else {
51
- let aCntx = yield this.establishAssetContext(enterprise, true);
52
- let assets = enterprise.assets.filter(a => aCntx.includes(a.name));
53
- asset = assets[0]; // There can be only one.
54
- }
55
- let cab = yield this.establishCabinet(flags.cabinet, true);
56
- // 1. DEFINE THE SOURCE FILE
57
- let sourceFileAbs;
58
- let sourceFileChanged = false;
59
- // Attempt to take the user input
60
- let sourceFolder = process.cwd(); // Current dir
61
- if (flags.sourceFile && !this.isNullOrWhitespace(flags.sourceFile)) {
62
- if (path.isAbsolute(flags.sourceFile)) {
63
- if (fs.existsSync(flags.sourceFile)) {
64
- sourceFileAbs = flags.sourceFile;
65
- sourceFolder = path.dirname(sourceFileAbs); // dir of given file (if it exists)
66
- }
67
- else {
68
- // if (silent) { throw new Error("The given source file was not found.""); } else { ...null it out... }
69
- sourceFileAbs = undefined;
70
- sourceFileChanged = true;
71
- }
72
- }
73
- else if (flags.sourceFile == exports.PROMPT_ME_DESIGNATOR) {
74
- // if (silent) { throw new Error("Must provide a source file when running in silent mode.""); }
75
- }
76
- else {
77
- // USERS VALUE WAS a relative path
78
- sourceFileAbs = path.posix.join(sourceFolder, flags.sourceFile);
79
- if (!fs.existsSync(sourceFileAbs)) {
80
- sourceFileAbs = undefined;
81
- sourceFileChanged = true;
82
- }
83
- }
84
- }
85
- // Prompt for source file
86
- if (sourceFileAbs == undefined) {
87
- // Step 1a) select the distribution folder (aka: the build output folder)
88
- let folderOptions = { startingPath: sourceFolder };
89
- sourceFolder = yield this._ui.promptSelectFolder("sourceFolder", "Select the distribution folder (aka: the build output folder)...", folderOptions);
90
- // Step 1b) select the config file within it.
91
- let options = {
92
- startingPath: sourceFolder,
93
- extensions: ["json", "yaml", "yml", "ini", "toml", "xml", "config", "properties"],
94
- asRelative: false
95
- };
96
- sourceFileAbs = yield this._ui.promptSelectFile("configFile", "select the file to import", options);
97
- // sourceFileAbs = path.posix.join(sourceFolder, relPath); // TODO: Add an option to get the abs path back from the file selector.
98
- }
99
- else {
100
- this._ui.userMessage("Importing ".concat(this._styler.hilite(sourceFileAbs)));
101
- }
102
- // 2. TARGET CONFIG
103
- let runtimeTargetFile;
104
- let configType;
105
- if (asset.type == contracts_1.AssetTypesEnum.helm) {
106
- configType = contracts_1.ConfigDefTypesEnum.helm;
107
- }
108
- else {
109
- configType = contracts_1.ConfigDefTypesEnum.file;
110
- let runtimeAppRootPath = "/app";
111
- runtimeAppRootPath = (yield this._ui.prompt("runtimeAppRootPath", "App root within the image", true, runtimeAppRootPath));
112
- let runtimeRelPathName = (yield this._ui.prompt("runtimeRelPathName", "Relative pathname to use within the image", true, (_b = flags.runtimePathName) !== null && _b !== void 0 ? _b : path.basename(sourceFileAbs)));
113
- runtimeTargetFile = path.posix.join(runtimeAppRootPath, runtimeRelPathName);
114
- }
115
- // 3. DECLARE THE SCOPE
116
- let level = contracts_1.ScopeLevel.enterprise;
117
- let scopeName = enterpriseCode;
118
- if (flags.enterprise) {
119
- level = contracts_1.ScopeLevel.enterprise;
120
- scopeName = (_c = flags.enterprise) !== null && _c !== void 0 ? _c : enterpriseCode;
121
- }
122
- else if (flags.environment) {
123
- level = contracts_1.ScopeLevel.environment;
124
- scopeName = (_d = flags.environment) !== null && _d !== void 0 ? _d : cab.environment;
125
- }
126
- else if (flags.cabinet) {
127
- level = contracts_1.ScopeLevel.cabinet;
128
- scopeName = (_e = flags.cabinet) !== null && _e !== void 0 ? _e : cab.name;
129
- }
130
- // 4. Run the import
131
- let doit = yield this._ui.promptConfirm("confirmExec", `You are about to overlay settings for [${this._styler.hilite(asset.name)}] in [${this._styler.hilite(runtimeTargetFile !== null && runtimeTargetFile !== void 0 ? runtimeTargetFile : configType.toString())}] at [${this._styler.hilite(level)}: ${this._styler.hilite(scopeName)}] with the file [${this._styler.hilite(sourceFileAbs)}]. \n Continue? `, true);
132
- if (doit == true) {
133
- let result = yield this.importConfigDoc(sourceFileAbs, enterpriseCode, asset.name, configType, runtimeTargetFile, level, scopeName);
134
- if (result.error) {
135
- this.logger.error(`Error importing: ${result.message}`, result.error);
136
- this._ui.userMessage(`Error importing: ${result.message}`);
137
- }
138
- else if (result.success) {
139
- this.logger.notice(`Imported ${sourceFileAbs}`);
140
- this._ui.userMessage(`Imported ${sourceFileAbs}`);
141
- }
142
- else {
143
- this.logger.warn(`Import failed without error: ${result.message}`, result);
144
- this._ui.userMessage(`Import failed without error: ${result.message}`);
145
- }
146
- }
147
- else {
148
- this._ui.userMessage("Operation cancelled. No work was done.");
149
- }
150
- return;
151
- }
152
- catch (err) {
153
- this.handleError(err);
154
- return;
155
- }
156
- finally {
157
- yield this.closeConnections();
158
- }
159
- }));
19
+ const { flags } = yield this.parse(ConfigImport);
20
+ let partial = {};
21
+ // Note: --enterprise (char 'n') is the scope flag here, not the enterprise context.
22
+ // The enterprise context is resolved by the base class lifecycle using partial.enterprise.
23
+ // If the user provides --enterprise, it doubles as both scope and context.
24
+ if (flags.enterprise)
25
+ partial.enterprise = flags.enterprise;
26
+ const interactionMode = (this.pipedInput) ? config_ui_utils_1.InteractionModes.silent : (_b = (_a = undefined !== null && undefined !== void 0 ? undefined : (flags.echo ? config_ui_utils_1.InteractionModes.echo : undefined)) !== null && _a !== void 0 ? _a : (flags["to-script"] ? config_ui_utils_1.InteractionModes.toscript : undefined)) !== null && _b !== void 0 ? _b : (flags.silent ? config_ui_utils_1.InteractionModes.silent : undefined);
27
+ return [partial, interactionMode, false];
160
28
  });
161
29
  }
162
- /**
163
- *
164
- * @param enterprise
165
- * @param assetName
166
- * @param configType
167
- * @param runtimeTargetFile Required only when `ConfigType == ConfigDefTypesEnum.file`
168
- * @param fqImportFilePath Fully Qualified local pathname to the file being imported
169
- * @param scopeLevel
170
- * @param scopeName
171
- * @returns
172
- */
173
- importConfigDoc(fqImportFilePath, enterprise, assetName, configType, runtimeTargetFile, scopeLevel, scopeName) {
30
+ buildCandidate_silently(partial, rootMap) {
31
+ var _a;
174
32
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
175
- return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
176
- var _a;
177
- let result = new contracts_2.Result(false);
178
- try {
179
- this.logger.detail(`Importing config [${fqImportFilePath}] for asset [${assetName}] in enterprise [${enterprise}] at scope [${scopeLevel}:${scopeName}]...`);
180
- let contents = fs.readFileSync(fqImportFilePath, { encoding: 'utf-8' }).trim();
181
- this.logger.trace(contents);
182
- let owner = { enterpriseCode: enterprise, assetName: assetName };
183
- let scope = { level: scopeLevel, target: scopeName };
184
- // let importer = this.ioc.get<ConfigImporter>(ConfigImporter);
185
- // let importer = new ConfigImporter(this.logger, this._codiacApi);
186
- // let result = await importer.import(contents.trim(), relativePathName, owner, appRootPathInContainer, scope);
187
- // let result = await this.relayClient.configFileImport(contents.trim(), relativePathName, owner.enterpriseCode, owner.assetName, appRootPathInContainer, scope.level, scope.target);
188
- const relativePathName = runtimeTargetFile !== null && runtimeTargetFile !== void 0 ? runtimeTargetFile : `[${configType}]`;
189
- result = yield this.genRelayClient.Call.ImportConfig({
190
- fileContents: contents,
191
- relativePathName: runtimeTargetFile !== null && runtimeTargetFile !== void 0 ? runtimeTargetFile : "[".concat(configType, "]"),
192
- owner: owner,
193
- scope: scope
194
- });
195
- // this.logger.trace(result.success ? "Success!" : result.message ?? "Failed", result);
196
- // resolve(result);
197
- }
198
- catch (err) {
199
- result.error = err;
200
- result.message = "Error importing config: ".concat((_a = err.message) !== null && _a !== void 0 ? _a : err.stack);
201
- // reject(err);
202
- }
203
- finally {
204
- resolve(result);
205
- }
206
- }));
33
+ const { flags } = yield this.parse(ConfigImport);
34
+ if (!flags.asset)
35
+ throw new Error("Asset name (--asset or -a) is required in silent mode.");
36
+ if (!flags.sourceFile)
37
+ throw new Error("Source file (--sourceFile or -s) is required in silent mode.");
38
+ const ent = rootMap.enterprises.find(e => e.name === partial.enterprise);
39
+ if (!ent)
40
+ throw new Error(`Enterprise "${partial.enterprise}" not found.`);
41
+ const assets = ent.assets.filter(a => a.name === flags.asset);
42
+ if (!assets || assets.length === 0)
43
+ throw new Error(`Asset "${flags.asset}" not found in enterprise "${partial.enterprise}".`);
44
+ const asset = assets[0];
45
+ const sourceFileAbs = path.isAbsolute(flags.sourceFile) ? flags.sourceFile : path.posix.join(process.cwd(), flags.sourceFile);
46
+ if (!fs.existsSync(sourceFileAbs))
47
+ throw new Error(`Source file not found: ${sourceFileAbs}`);
48
+ const configType = asset.type === contracts_1.AssetTypesEnum.helm ? contracts_1.ConfigDefTypesEnum.helm : contracts_1.ConfigDefTypesEnum.file;
49
+ let runtimeTargetFile;
50
+ if (configType === contracts_1.ConfigDefTypesEnum.file) {
51
+ const runtimePathName = (_a = flags["runtime-path"]) !== null && _a !== void 0 ? _a : path.basename(sourceFileAbs);
52
+ runtimeTargetFile = path.posix.join("/app", runtimePathName);
53
+ }
54
+ let scopeLevel = contracts_1.ScopeLevel.enterprise;
55
+ let scopeName = partial.enterprise;
56
+ if (flags.enterprise) {
57
+ scopeLevel = contracts_1.ScopeLevel.enterprise;
58
+ scopeName = flags.enterprise;
59
+ }
60
+ else if (flags.environment) {
61
+ scopeLevel = contracts_1.ScopeLevel.environment;
62
+ scopeName = flags.environment;
63
+ }
64
+ else if (flags.cabinet) {
65
+ scopeLevel = contracts_1.ScopeLevel.cabinet;
66
+ scopeName = flags.cabinet;
67
+ }
68
+ return { enterprise: partial.enterprise, assetName: asset.name, fqImportFilePath: sourceFileAbs, configType, runtimeTargetFile, scopeLevel, scopeName };
207
69
  });
208
70
  }
209
- writeSetting_Api(enterprise, assetName, configName, setting, scopeLevel, scopeName, val) {
71
+ buildCandidate_interactively(partial, rootMap, takeDefaults) {
72
+ var _a;
210
73
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
211
- return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
212
- try {
213
- // let cntx = await this.loadCodiacContext();
214
- // let cntx = await this.establishTenantContext(this._userCntx);
215
- let cntx = this._userCntx;
216
- // TODO: Look to enterprise context instead.
217
- // let enterprise = /* this._cfg.enterprise || */ this._projCfg.tenantCode;
218
- // TODO: Look to asset context instead - and if none, fail and call for "$ cod asset:set"
219
- // let assetName = this._projCfg.name; // this needs to be taken from an image definition. (AssetBinding[] needs to be added to each ImageExport)
220
- // NOTE: We could bind a config to an image name,
221
- // and then allow for an Asset scope to set values on it...
222
- let settingObj = Object.assign({ setting: setting, value: val, targetFile: configName, asset: assetName, enterprise: enterprise, scope: scopeLevel, target: scopeName }, this.createAuditable());
223
- let crit = {
224
- enterprise: settingObj.enterprise,
225
- asset: settingObj.asset,
226
- targetFile: settingObj.targetFile,
227
- scope: scopeLevel,
228
- target: scopeName,
229
- setting: settingObj.setting
230
- };
231
- // TODO: Replace this with an upsert based on: enterprise, asset, configName, scopeLevel, scopeName, and setting
232
- let check = yield this._codiacApi.ScopedSetting.tryReadMany(crit);
233
- let resultSetting;
234
- if (check.success && check.output && check.output.length > 0) {
235
- settingObj.id = check.output[0].id;
236
- resultSetting = yield this._codiacApi.ScopedSetting.tryUpdate(settingObj);
74
+ const { flags } = yield this.parse(ConfigImport);
75
+ const ent = rootMap.enterprises.find(e => e.name === partial.enterprise);
76
+ if (!ent)
77
+ throw new Error(`Enterprise "${partial.enterprise}" not found.`);
78
+ // Determine asset
79
+ let asset;
80
+ if (flags.asset !== undefined) {
81
+ const assets = ent.assets.filter(a => a.name === flags.asset);
82
+ if (!Array.isArray(assets) || assets.length === 0)
83
+ throw new Error(`Asset "${flags.asset}" not found in enterprise "${partial.enterprise}".`);
84
+ asset = assets[0];
85
+ }
86
+ else {
87
+ const aCntx = yield this.establishAssetContext(ent, true);
88
+ const assets = ent.assets.filter(a => aCntx.includes(a.name));
89
+ asset = assets[0];
90
+ }
91
+ const cab = yield this.establishCabinet(flags.cabinet, true);
92
+ // Determine source file
93
+ let sourceFileAbs;
94
+ let sourceFolder = process.cwd();
95
+ if (flags.sourceFile && !this.isNullOrWhitespace(flags.sourceFile)) {
96
+ if (path.isAbsolute(flags.sourceFile)) {
97
+ if (fs.existsSync(flags.sourceFile)) {
98
+ sourceFileAbs = flags.sourceFile;
99
+ sourceFolder = path.dirname(sourceFileAbs);
237
100
  }
238
- else {
239
- resultSetting = yield this._codiacApi.ScopedSetting.tryCreate(settingObj);
240
- }
241
- if (resultSetting.success) {
242
- this.logger.notice(`Successfully saved setting [${settingObj.setting}] for ${settingObj.scope} [${settingObj.target}] in ${settingObj.enterprise}/${settingObj.asset} config [${settingObj.targetFile}]`);
243
- this._ui.userMessage(`Successfully saved setting [${settingObj.setting}] for ${settingObj.scope} [${settingObj.target}] in ${settingObj.enterprise}/${settingObj.asset} config [${settingObj.targetFile}]`);
101
+ }
102
+ else if (flags.sourceFile !== exports.PROMPT_ME_DESIGNATOR) {
103
+ const candidate = path.posix.join(sourceFolder, flags.sourceFile);
104
+ if (fs.existsSync(candidate)) {
105
+ sourceFileAbs = candidate;
244
106
  }
245
- else if (resultSetting.error) {
246
- this.logger.error(`Error saving setting [${settingObj.setting}]: ${resultSetting.message || ""}; ${resultSetting.error.message || resultSetting.error.stack}; For ${settingObj.scope} [${settingObj.target}] in ${settingObj.enterprise}/${settingObj.asset} config [${settingObj.targetFile}]`);
247
- this._ui.userMessage(`Error saving setting [${settingObj.setting}]: ${resultSetting.message || ""}; ${resultSetting.error.message || resultSetting.error.stack}; For ${settingObj.scope} [${settingObj.target}] in ${settingObj.enterprise}/${settingObj.asset} config [${settingObj.targetFile}]`);
107
+ }
108
+ }
109
+ if (sourceFileAbs === undefined) {
110
+ const folderOptions = { startingPath: sourceFolder };
111
+ sourceFolder = yield this._ui.promptSelectFolder("sourceFolder", "Select the distribution folder (aka: the build output folder)...", folderOptions);
112
+ const fileOptions = {
113
+ startingPath: sourceFolder,
114
+ extensions: ["json", "yaml", "yml", "ini", "toml", "xml", "config", "properties"],
115
+ asRelative: false
116
+ };
117
+ sourceFileAbs = yield this._ui.promptSelectFile("configFile", "Select the file to import", fileOptions);
118
+ }
119
+ else {
120
+ this._ui.userMessage("Importing ".concat(this._styler.hilite(sourceFileAbs)));
121
+ }
122
+ // Determine config type and target path
123
+ const configType = asset.type === contracts_1.AssetTypesEnum.helm ? contracts_1.ConfigDefTypesEnum.helm : contracts_1.ConfigDefTypesEnum.file;
124
+ let runtimeTargetFile;
125
+ if (configType === contracts_1.ConfigDefTypesEnum.file) {
126
+ let runtimeAppRootPath = "/app";
127
+ runtimeAppRootPath = (yield this._ui.prompt("runtimeAppRootPath", "App root within the image", true, runtimeAppRootPath));
128
+ const runtimeRelPathName = (yield this._ui.prompt("runtimeRelPathName", "Relative pathname to use within the image", true, (_a = flags["runtime-path"]) !== null && _a !== void 0 ? _a : path.basename(sourceFileAbs)));
129
+ runtimeTargetFile = path.posix.join(runtimeAppRootPath, runtimeRelPathName);
130
+ }
131
+ // Determine scope
132
+ let scopeLevel = contracts_1.ScopeLevel.enterprise;
133
+ let scopeName = partial.enterprise;
134
+ if (flags.enterprise) {
135
+ scopeLevel = contracts_1.ScopeLevel.enterprise;
136
+ scopeName = flags.enterprise;
137
+ }
138
+ else if (flags.environment) {
139
+ scopeLevel = contracts_1.ScopeLevel.environment;
140
+ scopeName = flags.environment;
141
+ }
142
+ else if (flags.cabinet) {
143
+ scopeLevel = contracts_1.ScopeLevel.cabinet;
144
+ scopeName = flags.cabinet;
145
+ }
146
+ else {
147
+ const choices = [
148
+ { name: `Anywhere in the ${this._styler.bold(partial.enterprise)} enterprise`, value: contracts_1.ScopeLevel.enterprise },
149
+ { name: `A specific ${this._styler.bold("environment")}`, value: contracts_1.ScopeLevel.environment },
150
+ { name: `A specific ${this._styler.bold("cabinet")}`, value: contracts_1.ScopeLevel.cabinet },
151
+ ];
152
+ const selected = yield this._ui.promptSelect("level", "Scope: Where should this value apply? ", choices);
153
+ if (selected)
154
+ scopeLevel = selected;
155
+ if (scopeLevel !== contracts_1.ScopeLevel.enterprise) {
156
+ let scopeChoices = [];
157
+ if (scopeLevel === contracts_1.ScopeLevel.environment) {
158
+ const resultenvs = yield this._codiacApi.Environment.tryReadMany({ all: true }, { projection: { pathsIncluded: ["code"], pathsExcluded: [] } });
159
+ if (resultenvs.error)
160
+ throw resultenvs.error;
161
+ if (resultenvs.output)
162
+ scopeChoices = resultenvs.output.map(e => ({ name: e.code, value: e.code }));
248
163
  }
249
- else {
250
- this.logger.warn(`Failed without error to save setting [${settingObj.setting}]: ${resultSetting.message || ""}; For ${settingObj.scope} [${settingObj.target}] in ${settingObj.enterprise}/${settingObj.asset} config [${settingObj.targetFile}]`);
251
- this._ui.userMessage(`Failed without error to save setting [${settingObj.setting}]: ${resultSetting.message || ""}; For ${settingObj.scope} [${settingObj.target}] in ${settingObj.enterprise}/${settingObj.asset} config [${settingObj.targetFile}]`);
164
+ else if (scopeLevel === contracts_1.ScopeLevel.cabinet) {
165
+ const resultCabs = yield this._codiacApi.Cabinet.tryReadMany({ enterpriseCode: partial.enterprise }, { projection: { pathsIncluded: ["name"], pathsExcluded: [] } });
166
+ if (resultCabs.error)
167
+ throw resultCabs.error;
168
+ if (resultCabs.output)
169
+ scopeChoices = resultCabs.output.map(c => ({ name: c.name, value: c.name }));
252
170
  }
253
- resolve();
254
- }
255
- catch (err) {
256
- reject(err);
171
+ const selectedScope = yield this._ui.promptSelect("scopeName", `Which ${scopeLevel}? `, scopeChoices, true);
172
+ if (selectedScope)
173
+ scopeName = selectedScope;
257
174
  }
258
- }));
175
+ }
176
+ const configLabel = runtimeTargetFile !== null && runtimeTargetFile !== void 0 ? runtimeTargetFile : `[${configType}]`;
177
+ const proceed = yield this._ui.promptConfirm("confirmExec", `You are about to overlay settings for [${this._styler.hilite(asset.name)}] in [${this._styler.hilite(configLabel)}] at [${this._styler.hilite(scopeLevel)}: ${this._styler.hilite(scopeName)}] with file [${this._styler.hilite(sourceFileAbs)}]. Continue?`, true);
178
+ if (!proceed) {
179
+ this._ui.userMessage("Operation cancelled. No work was done.");
180
+ return undefined;
181
+ }
182
+ return { enterprise: partial.enterprise, assetName: asset.name, fqImportFilePath: sourceFileAbs, configType, runtimeTargetFile, scopeLevel, scopeName };
259
183
  });
260
184
  }
261
- writeSetting_local(setting, value) {
262
- // Write the available setting
263
- if (!this._appConfig) {
264
- this._appConfig = {};
265
- }
266
- _.set(this._appConfig, setting, value);
267
- // this._appConfig[setting] = val.settingValue;
268
- this._ops.writeConfig(this._appConfig);
185
+ buildCommandString(candidate, cmd) {
186
+ cmd.push("-a", candidate.assetName);
187
+ cmd.push("-s", candidate.fqImportFilePath);
188
+ if (candidate.scopeLevel === contracts_1.ScopeLevel.enterprise)
189
+ cmd.push("-n", candidate.scopeName);
190
+ else if (candidate.scopeLevel === contracts_1.ScopeLevel.environment)
191
+ cmd.push("-e", candidate.scopeName);
192
+ else if (candidate.scopeLevel === contracts_1.ScopeLevel.cabinet)
193
+ cmd.push("-c", candidate.scopeName);
194
+ if (candidate.runtimeTargetFile)
195
+ cmd.push("-f", path.basename(candidate.runtimeTargetFile));
196
+ cmd.push("--silent");
197
+ return cmd;
198
+ }
199
+ executeTask(candidate) {
200
+ var _a, _b;
201
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
202
+ this.logger.detail(`Importing config [${candidate.fqImportFilePath}] for asset [${candidate.assetName}] in enterprise [${candidate.enterprise}] at scope [${candidate.scopeLevel}:${candidate.scopeName}]...`);
203
+ const contents = fs.readFileSync(candidate.fqImportFilePath, { encoding: 'utf-8' }).trim();
204
+ const owner = { enterpriseCode: candidate.enterprise, assetName: candidate.assetName };
205
+ const scope = { level: candidate.scopeLevel, target: candidate.scopeName };
206
+ const relativePathName = (_a = candidate.runtimeTargetFile) !== null && _a !== void 0 ? _a : `[${candidate.configType}]`;
207
+ const result = yield this.genRelayClient.Call.ImportConfig({
208
+ fileContents: contents,
209
+ relativePathName,
210
+ owner,
211
+ scope
212
+ });
213
+ if (result.error) {
214
+ this.logger.error(`Error importing: ${result.message}`, result.error);
215
+ this._ui.userMessage(`Error importing: ${result.message}`);
216
+ throw result.error;
217
+ }
218
+ else if (result.success) {
219
+ this.logger.notice(`Imported ${candidate.fqImportFilePath}`);
220
+ this._ui.userMessage(`Imported ${candidate.fqImportFilePath}`);
221
+ }
222
+ else {
223
+ this.logger.warn(`Import failed without error: ${result.message}`, result);
224
+ this._ui.userMessage(`Import failed without error: ${result.message}`);
225
+ throw new Error((_b = result.message) !== null && _b !== void 0 ? _b : "Import failed.");
226
+ }
227
+ });
269
228
  }
270
229
  isNullOrWhitespace(candidate) {
271
230
  return candidate === null || (candidate.match(/^\s*$/) !== null);
272
231
  }
273
232
  }
274
- exports.default = ConfigAdd;
275
- ConfigAdd.description = 'Adds a key value pair to the app config';
276
- ConfigAdd.aliases = ['cfg:add'];
277
- ConfigAdd.flags = {
233
+ exports.default = ConfigImport;
234
+ ConfigImport.description = 'Imports a local config file, overlaying its settings into the Codiac config store.';
235
+ ConfigImport.aliases = ['cfg:add'];
236
+ ConfigImport.flags = {
278
237
  help: core_1.Flags.help({ char: 'h' }),
279
- enterprise: core_1.Flags.string({ char: 'n', exclusive: ["environment", "cabinet"], description: 'The name of the enterprise to which this value is to apply.' }),
280
- environment: core_1.Flags.string({ char: 'e', exclusive: ["enterprise", "cabinet"], description: 'The name of the environment to which this value is to apply.' }),
281
- asset: core_1.Flags.string({ char: 'a', required: false, description: `Search string for the name of the asset to deploy (use ${exports.PROMPT_ME_DESIGNATOR} to be prompted).` }),
282
- cabinet: core_1.Flags.string({ char: 'c', exclusive: ["enterprise", "environment"], description: 'The name of the cabinet to which this value is to apply.' }),
283
- sourceFile: core_1.Flags.string({ char: 's', description: 'The path-name to the LOCAL file to which the settings are written, can be either absolute, or relative to the current working directory.' }),
284
- runtimePathName: core_1.Flags.string({ char: 'f', required: false, description: '(optional, uses the original filename) The pathname relative to the app root to assume in the container.' })
238
+ enterprise: core_1.Flags.string({ char: 'n', exclusive: ["environment", "cabinet"], description: 'The name of the enterprise scope to which this import applies.' }),
239
+ environment: core_1.Flags.string({ char: 'e', exclusive: ["enterprise", "cabinet"], description: 'The name of the environment scope to which this import applies.' }),
240
+ asset: core_1.Flags.string({ char: 'a', required: false, description: `Name of the asset for which to import the config (use ${exports.PROMPT_ME_DESIGNATOR} to be prompted).` }),
241
+ cabinet: core_1.Flags.string({ char: 'c', exclusive: ["enterprise", "environment"], description: 'The name of the cabinet scope to which this import applies.' }),
242
+ sourceFile: core_1.Flags.string({ char: 's', description: 'The local path of the file to import (absolute, or relative to the current working directory).' }),
243
+ "runtime-path": core_1.Flags.string({ char: 'f', required: false, description: 'The pathname relative to the app root to assume in the container (optional; defaults to the source filename).' }),
244
+ silent: core_1.Flags.boolean({ exclusive: ["echo", "to-script"], description: 'Executes without any user interaction; fails on missing or invalid arguments.' }),
245
+ echo: core_1.Flags.boolean({ exclusive: ["to-script", "silent"], description: 'Renders the equivalent non-interactive command for future use before executing.' }),
246
+ "to-script": core_1.Flags.boolean({ exclusive: ["echo", "silent"], description: 'Renders the equivalent non-interactive command without executing it.' }),
285
247
  };
286
- ConfigAdd.args = {};
248
+ ConfigImport.args = {};
249
+ ConfigImport.examples = [
250
+ { description: "Import a config file interactively.", command: "<%= config.bin %> <%= command.id %>" },
251
+ { description: "Import a specific file at enterprise scope.", command: "<%= config.bin %> <%= command.id %> -a myApi -s ./dist/app-config.json -n myEnterprise" },
252
+ { description: "Import at cabinet scope.", command: "<%= config.bin %> <%= command.id %> -a myApi -s ./dist/app-config.json -c dev" },
253
+ { description: "Non-interactive (scripted) invocation.", command: "<%= config.bin %> <%= command.id %> -a myApi -s ./dist/app-config.json -n myEnterprise --silent" },
254
+ { description: "Renders the equivalent silent command without executing.", command: "<%= config.bin %> <%= command.id %> -a myApi -s ./dist/app-config.json -n myEnterprise --to-script" },
255
+ ];
287
256
  //# sourceMappingURL=import.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"import.js","sourceRoot":"","sources":["../../../src/commands/config/import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../../src/commands/config/import.ts"],"names":[],"mappings":"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"}