@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
@@ -4,18 +4,18 @@ exports.PROMPT_ME_DESIGNATOR = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  require("reflect-metadata");
6
6
  const core_1 = require("@oclif/core");
7
- const _ = require("lodash");
8
7
  const dom = require("@codiac.io/codiac-domain");
9
- const command_base_enterprise_1 = require("../../command-base-enterprise");
8
+ const command_base_exec_1 = require("../../command-base-exec");
10
9
  const output_format_enum_1 = require("../../cli-entities/output-format-enum");
11
10
  const config_ui_utils_1 = require("../../uilogic/config-ui-utils");
12
11
  const type_safety_utils_1 = require("../../uilogic/type-safety-utils");
13
12
  const codiac_utils_1 = require("../../codiac-utils");
13
+ const config_ui_utils_2 = require("../../uilogic/config-ui-utils");
14
14
  /** The value provided as input that indicates
15
15
  * a user's desire to be prompted with a list from which choose the value(s),
16
16
  * instead of entering them manually or taking a default. */
17
17
  exports.PROMPT_ME_DESIGNATOR = "?";
18
- class ConfigView extends command_base_enterprise_1.CommandBaseEnterprise {
18
+ class ConfigView extends command_base_exec_1.CommandBaseExec {
19
19
  // --------------------------------------------------------------------
20
20
  // Lazy-loaded properties
21
21
  get configUtils() {
@@ -29,114 +29,131 @@ class ConfigView extends command_base_enterprise_1.CommandBaseEnterprise {
29
29
  super.bootstrap();
30
30
  this.ioc.bind(config_ui_utils_1.ConfigUiUtils).toSelf();
31
31
  }
32
- run() {
33
- var _a, _b, _c, _d;
32
+ captureArgs() {
33
+ var _a, _b;
34
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
35
+ const { flags } = yield this.parse(ConfigView);
36
+ let partial = {};
37
+ if (flags.enterprise)
38
+ partial.enterprise = flags.enterprise;
39
+ if (flags.cabinet)
40
+ partial.cabinetName = flags.cabinet;
41
+ const interactionMode = (this.pipedInput) ? config_ui_utils_2.InteractionModes.silent : (_b = (_a = undefined !== null && undefined !== void 0 ? undefined : (flags.echo ? config_ui_utils_2.InteractionModes.echo : undefined)) !== null && _a !== void 0 ? _a : (flags["to-script"] ? config_ui_utils_2.InteractionModes.toscript : undefined)) !== null && _b !== void 0 ? _b : (flags.silent ? config_ui_utils_2.InteractionModes.silent : undefined);
42
+ return [partial, interactionMode, false];
43
+ });
44
+ }
45
+ buildCandidate_silently(partial, rootMap) {
46
+ var _a;
47
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
48
+ if (!partial.cabinetName)
49
+ throw new Error("Cabinet name (--cabinet or -c) is required in silent mode.");
50
+ if (!partial.assetName)
51
+ throw new Error("Asset name (--asset or -a) is required in silent mode.");
52
+ if (!partial.configName)
53
+ throw new Error("Config file (--file or -f) is required in silent mode.");
54
+ return {
55
+ enterprise: partial.enterprise,
56
+ assetName: partial.assetName,
57
+ cabinetName: partial.cabinetName,
58
+ configName: partial.configName,
59
+ outputFormat: (_a = partial.outputFormat) !== null && _a !== void 0 ? _a : output_format_enum_1.OutputFormatEnum.auto,
60
+ thisMachine: partial.thisMachine,
61
+ };
62
+ });
63
+ }
64
+ buildCandidate_interactively(partial, rootMap, takeDefaults) {
65
+ var _a, _b;
34
66
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
35
- this.bootstrap();
36
67
  const { args, flags } = yield this.parse(ConfigView);
37
- try {
38
- this._userCntx = yield this.establishTenantContext(this._userCntx);
39
- let rootMap = yield this.getRootMap();
40
- const interactionMode = this.getInteractionMode(flags.silent, flags.echo, flags['to-script']);
41
- let enterprise = (yield this.establishEnterpriseContext(rootMap, flags.enterprise, interactionMode)).enterprise;
42
- _.remove(rootMap.enterprises, e => e.name != enterprise.name); // trim down to match legacy conditions
43
- // determine which asset
44
- let assetName;
45
- let assetType;
46
- let assetChanged;
47
- if (flags.asset == exports.PROMPT_ME_DESIGNATOR) {
48
- [assetName, assetChanged, assetType] = yield this.configUtils.promptForAsset(enterprise.assets, flags.asset);
49
- // let asset = await this.promptForAsset(enterprise.code);
50
- // assetName = asset.name;
51
- }
52
- else if (flags.asset) {
53
- [assetName, assetChanged, assetType] = yield this.configUtils.promptForAsset(enterprise.assets, flags.asset);
54
- // let asset = await this.promptForAsset(enterprise.code, flags.asset);
55
- // assetName = asset.name;
56
- }
57
- else {
58
- // Update sync codiac with what we've got here in the project.
59
- let requestedAssets = yield this.establishAssetContext(enterprise, flags.silent);
60
- assetName = requestedAssets[0];
61
- // let versions = await this.declareAssetVersions(requestedAssets, enterpriseCode);
62
- // // We've updated Codiac. Now trigger the deploy.
63
- // assetVersions = requestedAssets.map(a => {
64
- // let version = versions.find(v => v.assetName == a);
65
- // return { a: a, v: version ? version.assetVersion : undefined };
66
- // });
67
- }
68
- // let aCntx = await this.establishAssetContext(enterprise, true);
69
- // let selectedFile = (await this.enterpriseContextor.promptForTargetFile(enterprise.code, assetName, flags.file))!;
70
- let selectedFile = flags.file;
71
- let configType = flags.type ? type_safety_utils_1.TypeSafetyUtils.toEnum(dom.SpecialConfigTypesEnum, flags.type) : undefined;
72
- let settings;
73
- let typeFileChanged;
74
- // let existingSettings: ScopedSetting[] | undefined;
75
- const isInfrxEnterprise = codiac_utils_1.CodiacUtils.isInfrxEnterprise(enterprise.name);
76
- [configType, selectedFile, settings, typeFileChanged] = yield this.configUtils.promptForTypeAndFile(enterprise.name, assetName, assetType, configType, selectedFile, undefined, false, false, undefined, isInfrxEnterprise);
77
- /** The value of the targetFile property on the entity record.
78
- *
79
- * TODO: CHANGE this structure to treat file config types like any other config type. (we're currently abusing this field bc of legacy design)
80
- */
81
- let targetFileValue = selectedFile !== null && selectedFile !== void 0 ? selectedFile : `[${configType}]`;
82
- // let cab = await this.establishCabinet(flags.cabinet, flags.silent);
83
- let [cab, enviro] = yield this.configUtils.promptForCabinet(enterprise.name, rootMap, flags.cabinet, true);
84
- // if (flags.cabinet != undefined) {
85
- // await this.renderCabinetConfig(selectedFile, cab.enterpriseCode, cab.name, assetName, outputFormat);
86
- let outputFormat = (_a = type_safety_utils_1.TypeSafetyUtils.toEnum(output_format_enum_1.OutputFormatEnum, flags.output)) !== null && _a !== void 0 ? _a : output_format_enum_1.OutputFormatEnum.auto;
87
- let result = yield this.genRelayClient.Call.GetRenderedCabinetConfig({
88
- configName: targetFileValue,
89
- enterprise: enterprise.name,
90
- cabinetName: cab.name,
91
- assetName: assetName,
92
- outputFormat: outputFormat
93
- }, { thisMachine: cab.thisMachine });
94
- if (result.success && result.output !== undefined) {
95
- this._ui.userMessage(`${this._styler.hilite(targetFileValue)} for ${this._styler.hilite(enterprise.name)}/${this._styler.hilite(assetName)} in cabinet: [${this._styler.hilite(cab.name)}]`);
96
- this._ui.userMessage(result.output);
97
- }
98
- else {
99
- this._ui.userMessage((_d = (_b = result.message) !== null && _b !== void 0 ? _b : (_c = result.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : "Failed rendering");
100
- }
101
- // } else {
102
- // await this.renderLocalConfig(selectedFile, args.setting, flags.prompt, outputFormat);
103
- // }
104
- return;
68
+ const enterprise = rootMap.enterprises.find(e => e.name === partial.enterprise);
69
+ if (!enterprise)
70
+ throw new Error(`Enterprise "${partial.enterprise}" not found.`);
71
+ const isInfrxEnterprise = codiac_utils_1.CodiacUtils.isInfrxEnterprise(partial.enterprise);
72
+ // Determine which asset
73
+ let assetName;
74
+ let assetType;
75
+ if (flags.asset === exports.PROMPT_ME_DESIGNATOR || flags.asset) {
76
+ const [resolvedName, , resolvedType] = yield this.configUtils.promptForAsset(enterprise.assets, flags.asset);
77
+ assetName = resolvedName;
78
+ assetType = resolvedType;
105
79
  }
106
- catch (err) {
107
- this.handleError(err);
108
- return;
80
+ else {
81
+ const requestedAssets = yield this.establishAssetContext(enterprise, (_a = flags.silent) !== null && _a !== void 0 ? _a : false);
82
+ assetName = requestedAssets[0];
83
+ }
84
+ // Determine config type and file
85
+ let selectedFile = flags.file;
86
+ let configType = flags.type
87
+ ? type_safety_utils_1.TypeSafetyUtils.toEnum(dom.SpecialConfigTypesEnum, flags.type)
88
+ : undefined;
89
+ const [resolvedConfigType, resolvedFile] = yield this.configUtils.promptForTypeAndFile(partial.enterprise, assetName, assetType, configType, selectedFile, undefined, false, false, undefined, isInfrxEnterprise);
90
+ const configName = resolvedFile !== null && resolvedFile !== void 0 ? resolvedFile : `[${resolvedConfigType}]`;
91
+ // Determine cabinet
92
+ const [cab] = yield this.configUtils.promptForCabinet(partial.enterprise, rootMap, flags.cabinet, true);
93
+ const outputFormat = (_b = type_safety_utils_1.TypeSafetyUtils.toEnum(output_format_enum_1.OutputFormatEnum, flags.output)) !== null && _b !== void 0 ? _b : output_format_enum_1.OutputFormatEnum.auto;
94
+ return {
95
+ enterprise: partial.enterprise,
96
+ assetName,
97
+ cabinetName: cab.name,
98
+ configName,
99
+ outputFormat,
100
+ thisMachine: cab.thisMachine,
101
+ };
102
+ });
103
+ }
104
+ buildCommandString(candidate, cmd) {
105
+ cmd.push("-e", candidate.enterprise);
106
+ cmd.push("-a", candidate.assetName);
107
+ cmd.push("-c", candidate.cabinetName);
108
+ cmd.push("-f", candidate.configName);
109
+ cmd.push("-o", candidate.outputFormat);
110
+ cmd.push("--silent");
111
+ return cmd;
112
+ }
113
+ executeTask(candidate) {
114
+ var _a, _b, _c;
115
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
116
+ const result = yield this.genRelayClient.Call.GetRenderedCabinetConfig({
117
+ configName: candidate.configName,
118
+ enterprise: candidate.enterprise,
119
+ cabinetName: candidate.cabinetName,
120
+ assetName: candidate.assetName,
121
+ outputFormat: candidate.outputFormat
122
+ }, { thisMachine: candidate.thisMachine });
123
+ if (result.success && result.output !== undefined) {
124
+ this._ui.userMessage(`${this._styler.hilite(candidate.configName)} for ${this._styler.hilite(candidate.enterprise)}/${this._styler.hilite(candidate.assetName)} in cabinet: [${this._styler.hilite(candidate.cabinetName)}]`);
125
+ this._ui.userMessage(result.output);
109
126
  }
110
- finally {
111
- yield this.closeConnections();
127
+ else {
128
+ this._ui.userMessage((_c = (_a = result.message) !== null && _a !== void 0 ? _a : (_b = result.error) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : "Failed rendering");
112
129
  }
113
130
  });
114
131
  }
115
132
  }
116
133
  exports.default = ConfigView;
117
- ConfigView.description = 'Retrieves a pre-deploy preview of the the ultimate configuration file contents for the given cabinet (with all inline variables and source references resolved).';
134
+ ConfigView.description = 'Retrieves a pre-deploy preview of the ultimate configuration file contents for the given cabinet (with all inline variables and source references resolved).';
118
135
  ConfigView.aliases = ['config:preview', 'cfg:preview'];
119
136
  ConfigView.flags = {
120
137
  help: core_1.Flags.help({ char: 'h' }),
121
- prompt: core_1.Flags.boolean({ char: 'p', default: false, description: 'Invokes a prompt to select from the existing settings.' }),
122
- enterprise: core_1.Flags.string({ char: 'e', required: false, description: 'The name of the enterprise that contains the asset. Required if there are more than one. (defaults to the current enterprise context)' }),
123
- 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).` }),
124
- cabinet: core_1.Flags.string({ char: 'c', exclusive: ["enterprise", "environment"], description: 'The name of the cabinet to assemble the configuration for.' }),
138
+ enterprise: core_1.Flags.string({ char: 'e', required: false, description: 'The name of the enterprise that contains the asset (defaults to the current enterprise context).' }),
139
+ asset: core_1.Flags.string({ char: 'a', required: false, description: `Name of the asset to view configs for (use ${exports.PROMPT_ME_DESIGNATOR} to be prompted).` }),
140
+ cabinet: core_1.Flags.string({ char: 'c', description: 'The name of the cabinet to assemble the configuration for.' }),
125
141
  file: core_1.Flags.string({ char: 'f', required: false, default: 'app-config.json', description: 'The relative pathname of the config file to view (relative to the root of the codiac project).' }),
126
- type: core_1.Flags.string({ char: 't', exclusive: ["file"], options: Object.keys(dom.SpecialConfigTypesEnum), description: 'Filters for the settings types that do not land in a config file (such as... env: OS environment variables, footprint: container footprint specs, helm: helm chart settings, label: container meta labels, annotation: container platform key-value pairs).' }),
127
- silent: core_1.Flags.boolean({ char: 'y', dependsOn: ["cabinet", "enterpriseCode"], required: false, description: `(Optional: defaults to false) Prevents confirmations of user-values that are remembered from prior runs.` }),
128
- output: core_1.Flags.string({ char: 'o', required: false, default: output_format_enum_1.OutputFormatEnum.auto, options: [output_format_enum_1.OutputFormatEnum.pretty, output_format_enum_1.OutputFormatEnum.json, output_format_enum_1.OutputFormatEnum.yaml, output_format_enum_1.OutputFormatEnum.auto], description: "Output format of the actual settings data document." })
142
+ type: core_1.Flags.string({ char: 't', exclusive: ["file"], options: Object.keys(dom.SpecialConfigTypesEnum), description: 'The type of settings to view (env: OS environment variables, footprint: container footprint specs, helm: helm chart settings, label: container meta labels, annotation: container platform key-value pairs).' }),
143
+ output: core_1.Flags.string({ char: 'o', required: false, default: output_format_enum_1.OutputFormatEnum.auto, options: [output_format_enum_1.OutputFormatEnum.pretty, output_format_enum_1.OutputFormatEnum.json, output_format_enum_1.OutputFormatEnum.yaml, output_format_enum_1.OutputFormatEnum.auto], description: "Output format of the actual settings data document." }),
144
+ prompt: core_1.Flags.boolean({ char: 'p', default: false, description: 'Forces a prompt to select from the existing settings.' }),
145
+ silent: core_1.Flags.boolean({ exclusive: ["echo", "to-script"], description: 'Executes without any user interaction; fails on missing or invalid arguments.' }),
146
+ echo: core_1.Flags.boolean({ exclusive: ["to-script", "silent"], description: 'Renders the equivalent non-interactive command for future use before executing.' }),
147
+ "to-script": core_1.Flags.boolean({ exclusive: ["echo", "silent"], description: 'Renders the equivalent non-interactive command without executing it.' }),
129
148
  };
130
- // enterpriseCode: flags.string({ char: 'e', required: false, description: `Code (name) of the enterprise of the owner asset` }),
131
149
  ConfigView.args = {
132
- setting: core_1.Args.string({ description: '(optional) Name of specific setting value to view; omit to show all.', required: false })
150
+ setting: core_1.Args.string({ description: '(optional) Name of a specific setting to view; omit to show all.', required: false })
133
151
  };
134
152
  ConfigView.examples = [
135
- '$ cod config:view',
136
- '$ cod config:view port',
137
- '$ cod config:view -p',
138
- '$ cod config:view -o pretty',
139
- '$ cod config:view -c dev2 -f settings.json -o pretty',
140
- '$ cod config:view -c dev2 -a myapi -t footprint'
153
+ { description: "View config for the current asset interactively.", command: "<%= config.bin %> <%= command.id %>" },
154
+ { description: "View a specific cabinet's config in pretty format.", command: "<%= config.bin %> <%= command.id %> -c dev2 -f settings.json -o pretty" },
155
+ { description: "View a specific non-file config type.", command: "<%= config.bin %> <%= command.id %> -c dev2 -a myapi -t footprint" },
156
+ { description: "Non-interactive (scripted) invocation.", command: "<%= config.bin %> <%= command.id %> -e myEnterprise -a myApi -c dev --silent" },
157
+ { description: "Renders the equivalent silent command without executing.", command: "<%= config.bin %> <%= command.id %> -e myEnterprise -a myApi -c dev --to-script" },
141
158
  ];
142
159
  //# sourceMappingURL=view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/commands/config/view.ts"],"names":[],"mappings":";;;;AAAA,4BAA0B;AAC1B,sCAA0C;AAC1C,4BAA6B;AAG7B,gDAAgD;AAChD,2EAAsE;AACtE,8EAAyE;AAGzE,mEAA8D;AAC9D,uEAAkE;AAElE,qDAAiD;AAOjD;;4DAE4D;AAC/C,QAAA,oBAAoB,GAAG,GAAG,CAAC;AAExC,MAAqB,UAAW,SAAQ,+CAAqB;IA+B3D,uEAAuE;IACvE,yBAAyB;IAEzB,IAAc,WAAW;QACvB,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE;YAC1C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,+BAAa,CAAC,CAAC;SACxD;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAID,uEAAuE;IAG7D,SAAS;QACjB,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAAa,CAAC,CAAC,MAAM,EAAE,CAAC;IACxC,CAAC;IAGK,GAAG;;;YACP,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YAEpD,IAAI;gBAEF,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACnE,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBACtC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC9F,IAAI,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC;gBAChH,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAE,uCAAuC;gBAEvG,wBAAwB;gBACxB,IAAI,SAAiB,CAAC;gBACtB,IAAI,SAAqC,CAAC;gBAC1C,IAAI,YAAqB,CAAC;gBAC1B,IAAI,KAAK,CAAC,KAAK,IAAI,4BAAoB,EAAE;oBACvC,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC7G,0DAA0D;oBAC1D,0BAA0B;iBAC3B;qBAAM,IAAI,KAAK,CAAC,KAAK,EAAE;oBACtB,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC7G,uEAAuE;oBACvE,0BAA0B;iBAC3B;qBAAM;oBACL,8DAA8D;oBAC9D,IAAI,eAAe,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;oBACjF,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;oBAC/B,mFAAmF;oBACnF,oDAAoD;oBACpD,6CAA6C;oBAC7C,wDAAwD;oBACxD,oEAAoE;oBACpE,MAAM;iBACP;gBACD,kEAAkE;gBAElE,oHAAoH;gBAEpH,IAAI,YAAY,GAAuB,KAAK,CAAC,IAAI,CAAC;gBAClD,IAAI,UAAU,GAA2C,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,mCAAe,CAAC,MAAM,CAA6B,GAAG,CAAC,sBAAsB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC7K,IAAI,QAAqC,CAAC;gBAC1C,IAAI,eAAwB,CAAC;gBAC7B,qDAAqD;gBACrD,MAAM,iBAAiB,GAAG,0BAAW,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACzE,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;gBAE5N;;;mBAGG;gBACH,IAAI,eAAe,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,IAAI,UAAU,GAAG,CAAC;gBAExD,sEAAsE;gBACtE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAE3G,oCAAoC;gBACpC,uGAAuG;gBAEvG,IAAI,YAAY,GAAG,MAAA,mCAAe,CAAC,MAAM,CAAmB,qCAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,mCAAI,qCAAgB,CAAC,IAAI,CAAC;gBACrH,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,wBAAwB,CAAC;oBACnE,UAAU,EAAE,eAAe;oBAC3B,UAAU,EAAE,UAAU,CAAC,IAAI;oBAC3B,WAAW,EAAE,GAAG,CAAC,IAAI;oBACrB,SAAS,EAAE,SAAS;oBACpB,YAAY,EAAE,YAAY;iBAC3B,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;gBACrC,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;oBACjD,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC7L,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;iBACrC;qBAAM;oBACL,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAA,MAAA,MAAM,CAAC,OAAO,mCAAI,MAAA,MAAM,CAAC,KAAK,0CAAE,OAAO,mCAAI,kBAAkB,CAAC,CAAC;iBACrF;gBAED,WAAW;gBACX,0FAA0F;gBAC1F,IAAI;gBACJ,OAAO;aAER;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACtB,OAAO;aACR;oBAAS;gBACR,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;aAC/B;;KAEF;;AA1IH,6BAyWC;AAxWQ,sBAAW,GAAG,kKAAkK,CAAC;AACjL,kBAAO,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;AAE5C,gBAAK,GAAG;IACb,IAAI,EAAE,YAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAC/B,MAAM,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,wDAAwD,EAAE,CAAC;IAC3H,UAAU,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,uIAAuI,EAAE,CAAC;IAC9M,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,0DAA0D,4BAAoB,mBAAmB,EAAE,CAAC;IACnK,OAAO,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE,WAAW,EAAE,4DAA4D,EAAE,CAAC;IACzJ,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,gGAAgG,EAAE,CAAC;IAC7L,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,WAAW,EAAE,6PAA6P,EAAE,CAAC;IACpX,MAAM,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,0GAA0G,EAAE,CAAC;IACxN,MAAM,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,qCAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,qCAAgB,CAAC,MAAM,EAAE,qCAAgB,CAAC,IAAI,EAAE,qCAAgB,CAAC,IAAI,EAAE,qCAAgB,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,qDAAqD,EAAE,CAAC;CAClQ,CAAC;AACF,iIAAiI;AAE1H,eAAI,GAAG;IACZ,OAAO,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,sEAAsE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;CAC/H,CAAC;AAEK,mBAAQ,GAAG;IAChB,mBAAmB;IACnB,wBAAwB;IACxB,sBAAsB;IACtB,6BAA6B;IAC7B,sDAAsD;IACtD,iDAAiD;CAClD,CAAC"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/commands/config/view.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,34 @@
1
+ import { Command } from '@oclif/core';
1
2
  import { CloudProviderEnum } from '../../apis/codiac-relay/contracts';
2
- import { CommandBaseEnterprise } from '../../command-base-enterprise';
3
- export default class CspLogout extends CommandBaseEnterprise {
3
+ import { CommandBaseExecTenant } from '../../command-base-exec-tenant';
4
+ import { ICspAccountFilter } from '../../sdk';
5
+ import { RootMap } from '../../apis/codiac-api/contracts';
6
+ import { InteractionModes } from '../../uilogic/config-ui-utils';
7
+ type CspLogoutRequest = {
8
+ provider: CloudProviderEnum;
9
+ cspAcct: ICspAccountFilter;
10
+ suppressConfirmations: boolean;
11
+ };
12
+ export default class CspLogout extends CommandBaseExecTenant<CspLogoutRequest> {
4
13
  static description: string;
5
- static examples: string[];
14
+ private static _allPvds;
15
+ static get allPvds(): CloudProviderEnum[];
6
16
  static flags: {
17
+ help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
7
18
  subscriptionId: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
19
  tenantId: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
20
  silent: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
21
+ echo: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
22
+ "to-script": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
23
  };
11
- private static _allPvds;
12
- static get allPvds(): CloudProviderEnum[];
13
24
  static args: {
14
25
  provider: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
15
26
  };
16
- run(): Promise<void>;
27
+ static examples: Command.Example[];
28
+ captureArgs(): Promise<[Partial<CspLogoutRequest>, InteractionModes | undefined, boolean]>;
29
+ buildCandidate_silently(partial: Partial<CspLogoutRequest>, rootMap: RootMap): Promise<CspLogoutRequest | undefined>;
30
+ buildCandidate_interactively(partial: Partial<CspLogoutRequest>, takeDefaults: boolean, rootMap: RootMap): Promise<CspLogoutRequest | undefined>;
31
+ buildCommandString(candidate: CspLogoutRequest, cmd: string[]): string[];
32
+ executeTask(candidate: CspLogoutRequest): Promise<void>;
17
33
  }
34
+ export {};
@@ -1,92 +1,115 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  const tslib_1 = require("tslib");
5
4
  const core_1 = require("@oclif/core");
6
5
  const contracts_1 = require("../../apis/codiac-relay/contracts");
7
- const command_base_enterprise_1 = require("../../command-base-enterprise");
6
+ const command_base_exec_tenant_1 = require("../../command-base-exec-tenant");
8
7
  const _ = require("lodash");
9
8
  const type_safety_utils_1 = require("../../uilogic/type-safety-utils");
10
- class CspLogout extends command_base_enterprise_1.CommandBaseEnterprise {
9
+ const config_ui_utils_1 = require("../../uilogic/config-ui-utils");
10
+ class CspLogout extends command_base_exec_tenant_1.CommandBaseExecTenant {
11
11
  static get allPvds() {
12
12
  if (this._allPvds == undefined) {
13
- this._allPvds = Object.values(contracts_1.CloudProviderEnum); //this.cspUiFactory.getAllClusterProviders(this.ioc); // TODO: this call is currently limited to cluster providers - we need the comprehensive list of CSPs in use.
13
+ this._allPvds = Object.values(contracts_1.CloudProviderEnum);
14
14
  _.remove(this._allPvds, x => x == contracts_1.CloudProviderEnum.other);
15
15
  _.remove(this._allPvds, x => x == contracts_1.CloudProviderEnum.localMachine);
16
16
  }
17
17
  return this._allPvds;
18
18
  }
19
- run() {
19
+ captureArgs() {
20
+ var _a, _b;
20
21
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
21
- return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
22
- var _b, _c, _d, _e, _f;
23
- try {
24
- this.bootstrap();
25
- const { args, flags } = yield this.parse(CspLogout);
26
- this._userCntx = yield this.establishTenantContext(this._userCntx);
27
- let suppressConfirmations = Boolean(flags.silent === true);
28
- // Select the CSP
29
- let provider;
30
- if (args.provider) {
31
- const pvdAsEnum = type_safety_utils_1.TypeSafetyUtils.toEnum(contracts_1.CloudProviderEnum, args.provider);
32
- if (pvdAsEnum == undefined)
33
- throw new Error("Unrecognized cloud provider.");
34
- provider = pvdAsEnum;
35
- }
36
- else if (suppressConfirmations) {
37
- throw new Error(`You must specify a cloud provider.`);
38
- }
39
- else {
40
- // Select interactively
41
- // let allPvds = this.cspUiFactory.getAllClusterProviders(this.ioc); // we dont want just cluster providers here
42
- provider = yield this.cspContextualizer.promptForCloudProvider(CspLogout.allPvds, undefined);
43
- }
44
- let cspAcct = { subscriptionId: flags.subscriptionId, tenantId: flags.tenantId };
45
- const cspTenant = yield this.cspContextualizer.ensureCspTenant(provider, this._codiacApi, cspAcct, false);
46
- if (cspTenant) {
47
- cspAcct.tenantId = cspTenant.cspTenantId;
48
- // remove an invalid user-provided subscriptionId
49
- if (cspAcct.subscriptionId && !((_b = cspTenant.subscriptionIds) === null || _b === void 0 ? void 0 : _b.includes(cspAcct.subscriptionId))) {
50
- delete cspAcct.subscriptionId;
51
- }
52
- }
53
- // interactive sign-out flow
54
- try {
55
- let username = yield this.cspContextualizer.promptToLogout(this.ioc, provider, cspAcct, suppressConfirmations);
56
- this._ui.userMessage(`${this._styler.colorGood("Success!")} Signed out from ${this._styler.hilite(provider)}.`);
57
- }
58
- catch (err) {
59
- this._ui.userMessage(`${this._styler.colorCritical("FAILED")} ${(_c = err.name) !== null && _c !== void 0 ? _c : ""} ${(_d = err.message) !== null && _d !== void 0 ? _d : ""}`);
60
- }
61
- resolve();
62
- }
63
- catch (err) {
64
- this.logger.error(err);
65
- this._ui.userMessage(`${this._styler.colorCritical("ERROR")} ${(_e = err.name) !== null && _e !== void 0 ? _e : ""} ${(_f = err.message) !== null && _f !== void 0 ? _f : ""}`);
66
- resolve();
22
+ const { args, flags } = yield this.parse(CspLogout);
23
+ let partial = {};
24
+ if (args.provider) {
25
+ const pvdAsEnum = type_safety_utils_1.TypeSafetyUtils.toEnum(contracts_1.CloudProviderEnum, args.provider);
26
+ if (pvdAsEnum != undefined)
27
+ partial.provider = pvdAsEnum;
28
+ }
29
+ partial.cspAcct = { subscriptionId: flags.subscriptionId, tenantId: flags.tenantId };
30
+ 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);
31
+ return [partial, interactionMode, false];
32
+ });
33
+ }
34
+ buildCandidate_silently(partial, rootMap) {
35
+ var _a, _b;
36
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
37
+ if (!partial.provider)
38
+ throw new Error(`You must specify a cloud provider.`);
39
+ const pvdAsEnum = type_safety_utils_1.TypeSafetyUtils.toEnum(contracts_1.CloudProviderEnum, partial.provider);
40
+ if (pvdAsEnum == undefined)
41
+ throw new Error("Unrecognized cloud provider.");
42
+ let cspAcct = (_a = partial.cspAcct) !== null && _a !== void 0 ? _a : {};
43
+ const cspTenant = yield this.cspContextualizer.ensureCspTenant(pvdAsEnum, this._codiacApi, cspAcct, false);
44
+ if (cspTenant) {
45
+ cspAcct.tenantId = cspTenant.cspTenantId;
46
+ if (cspAcct.subscriptionId && !((_b = cspTenant.subscriptionIds) === null || _b === void 0 ? void 0 : _b.includes(cspAcct.subscriptionId))) {
47
+ delete cspAcct.subscriptionId;
67
48
  }
68
- finally {
69
- yield this.closeConnections();
49
+ }
50
+ return { provider: pvdAsEnum, cspAcct, suppressConfirmations: true };
51
+ });
52
+ }
53
+ buildCandidate_interactively(partial, takeDefaults, rootMap) {
54
+ var _a, _b;
55
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
56
+ let provider;
57
+ if (partial.provider) {
58
+ provider = partial.provider;
59
+ }
60
+ else {
61
+ provider = yield this.cspContextualizer.promptForCloudProvider(CspLogout.allPvds, undefined);
62
+ }
63
+ let cspAcct = (_a = partial.cspAcct) !== null && _a !== void 0 ? _a : {};
64
+ const cspTenant = yield this.cspContextualizer.ensureCspTenant(provider, this._codiacApi, cspAcct, false);
65
+ if (cspTenant) {
66
+ cspAcct.tenantId = cspTenant.cspTenantId;
67
+ if (cspAcct.subscriptionId && !((_b = cspTenant.subscriptionIds) === null || _b === void 0 ? void 0 : _b.includes(cspAcct.subscriptionId))) {
68
+ delete cspAcct.subscriptionId;
70
69
  }
71
- }));
70
+ }
71
+ return { provider, cspAcct, suppressConfirmations: false };
72
+ });
73
+ }
74
+ buildCommandString(candidate, cmd) {
75
+ cmd.push(candidate.provider);
76
+ if (candidate.cspAcct.subscriptionId)
77
+ cmd.push("-s", candidate.cspAcct.subscriptionId);
78
+ if (candidate.cspAcct.tenantId)
79
+ cmd.push("-t", candidate.cspAcct.tenantId);
80
+ cmd.push("--silent");
81
+ return cmd;
82
+ }
83
+ executeTask(candidate) {
84
+ var _a, _b;
85
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
86
+ try {
87
+ yield this.cspContextualizer.promptToLogout(this.ioc, candidate.provider, candidate.cspAcct, candidate.suppressConfirmations);
88
+ this._ui.userMessage(`${this._styler.colorGood("Success!")} Signed out from ${this._styler.hilite(candidate.provider)}.`);
89
+ }
90
+ catch (err) {
91
+ this._ui.userMessage(`${this._styler.colorCritical("FAILED")} ${(_a = err.name) !== null && _a !== void 0 ? _a : ""} ${(_b = err.message) !== null && _b !== void 0 ? _b : ""}`);
92
+ }
72
93
  });
73
94
  }
74
95
  }
75
96
  exports.default = CspLogout;
76
- _a = CspLogout;
77
97
  CspLogout.description = 'Closes session with the given Cloud Service Provider (CSP), eg: aws, azure, docker. Use this command to clear the local cache for your security account at that provider.';
78
- CspLogout.examples = [
79
- 'cod csp logout',
80
- 'cod csp logout docker',
81
- 'cod csp logout --silent azure',
82
- ];
83
- // static dependsOn = ["provider"]; // this isnt the whole of the requirements
84
98
  CspLogout.flags = {
99
+ help: core_1.Flags.help({ char: 'h' }),
85
100
  subscriptionId: core_1.Flags.string({ char: 's', description: '(in silent mode, either this or tenantId is required if you have more than one tenant profile on a given cloud provider) The Id of the cloud provider subscription under which to logout.' }),
86
101
  tenantId: core_1.Flags.string({ char: 't', description: '(in silent mode, either this or subscriptionId is required if you have more than one tenant profile on a given cloud provider) The Id of the cloud provider tenant under which to logout.' }),
87
- silent: core_1.Flags.boolean({ char: 'y', required: false, description: `(Optional: defaults to false) Suppresses any user-interaction.` })
102
+ silent: core_1.Flags.boolean({ exclusive: ["echo", "to-script"], description: 'Executes without any user interaction; fails on missing or invalid arguments.' }),
103
+ echo: core_1.Flags.boolean({ exclusive: ["to-script", "silent"], description: 'Renders the equivalent non-interactive command for future use before executing.' }),
104
+ "to-script": core_1.Flags.boolean({ exclusive: ["echo", "silent"], description: 'Renders the equivalent non-interactive command without executing it.' }),
88
105
  };
89
106
  CspLogout.args = {
90
- provider: core_1.Args.string({ required: false, options: _a.allPvds, char: 'p', description: 'Code indicating the Cloud Service Provider (CSP) being authenticated with.' })
107
+ provider: core_1.Args.string({ required: false, options: CspLogout.allPvds, description: 'Code indicating the Cloud Service Provider (CSP) being logged out of.' })
91
108
  };
109
+ CspLogout.examples = [
110
+ { description: "Log out interactively.", command: "<%= config.bin %> <%= command.id %>" },
111
+ { description: "Log out of a specific provider.", command: "<%= config.bin %> <%= command.id %> docker" },
112
+ { description: "Non-interactive invocation.", command: "<%= config.bin %> <%= command.id %> --silent azure" },
113
+ { description: "Renders the equivalent silent command without executing.", command: "<%= config.bin %> <%= command.id %> azure --to-script" },
114
+ ];
92
115
  //# sourceMappingURL=logout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../src/commands/csp/logout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../src/commands/csp/logout.ts"],"names":[],"mappings":"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"}