@codiac.io/codiac-cli 1.3.180 → 1.3.182

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 (268) 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 +25 -13
  62. package/dist/commands/asset/volume/create.js +177 -156
  63. package/dist/commands/asset/volume/create.js.map +1 -1
  64. package/dist/commands/asset/volume/delete.d.ts +23 -7
  65. package/dist/commands/asset/volume/delete.js +131 -98
  66. package/dist/commands/asset/volume/delete.js.map +1 -1
  67. package/dist/commands/asset/volume/list.d.ts +24 -8
  68. package/dist/commands/asset/volume/list.js +101 -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/uilogic/lrp-watcher-predef.d.ts +2 -1
  251. package/dist/uilogic/lrp-watcher-predef.js +31 -17
  252. package/dist/uilogic/lrp-watcher-predef.js.map +1 -1
  253. package/dist/uilogic/lrp-watcher-utils.d.ts +2 -0
  254. package/dist/uilogic/lrp-watcher-utils.js +2 -0
  255. package/dist/uilogic/lrp-watcher-utils.js.map +1 -1
  256. package/dist/uilogic/rootmap-ui-utils.d.ts +18 -1
  257. package/dist/uilogic/rootmap-ui-utils.js +30 -0
  258. package/dist/uilogic/rootmap-ui-utils.js.map +1 -1
  259. package/dist/uilogic/tenant-contextualizer.js +11 -1
  260. package/dist/uilogic/tenant-contextualizer.js.map +1 -1
  261. package/dist/user-context-loader.d.ts +12 -7
  262. package/dist/user-context-loader.js +89 -43
  263. package/dist/user-context-loader.js.map +1 -1
  264. package/oclif.manifest.json +3991 -1444
  265. package/package.json +2 -2
  266. package/dist/commands/noc/cluster/recreate.d.ts +0 -28
  267. package/dist/commands/noc/cluster/recreate.js +0 -197
  268. package/dist/commands/noc/cluster/recreate.js.map +0 -1
@@ -0,0 +1,32 @@
1
+ import { Command } from '@oclif/core';
2
+ import { RootMap } from '../../../apis/codiac-api/contracts';
3
+ import { CommandBaseExec } from '../../../command-base-exec';
4
+ import { AtLeast } from '@codiac.io/codiac-common/contracts';
5
+ import { InteractionModes } from '../../../uilogic/config-ui-utils';
6
+ export type ICabinetClusterPair = {
7
+ enterprise: string;
8
+ cabinet: string;
9
+ environment: string;
10
+ cluster: string;
11
+ };
12
+ export default class CabinetClusterAttach extends CommandBaseExec<ICabinetClusterPair> {
13
+ static description: string;
14
+ static aliases: string[];
15
+ static examples: Command.Example[];
16
+ static flags: {
17
+ enterprise: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
18
+ cabinet: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
19
+ environment: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
20
+ cluster: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
21
+ silent: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
22
+ echo: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
23
+ "to-script": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
24
+ "take-defaults": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
25
+ };
26
+ static args: {};
27
+ captureArgs(): Promise<[Partial<ICabinetClusterPair>, InteractionModes | undefined, boolean]>;
28
+ buildCandidate_silently(partial: AtLeast<ICabinetClusterPair, 'enterprise'>, rootMap: RootMap): Promise<ICabinetClusterPair | undefined>;
29
+ buildCandidate_interactively(partial: AtLeast<ICabinetClusterPair, 'enterprise'>, rootMap: RootMap, takeDefaults: boolean): Promise<ICabinetClusterPair | undefined>;
30
+ buildCommandString(candidate: ICabinetClusterPair, cmd: string[]): string[];
31
+ executeTask(candidate: ICabinetClusterPair): Promise<void>;
32
+ }
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const core_1 = require("@oclif/core");
5
+ const _ = require("lodash");
6
+ const command_base_exec_1 = require("../../../command-base-exec");
7
+ const config_ui_utils_1 = require("../../../uilogic/config-ui-utils");
8
+ class CabinetClusterAttach extends command_base_exec_1.CommandBaseExec {
9
+ captureArgs() {
10
+ var _a, _b;
11
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
+ const { flags } = yield this.parse(CabinetClusterAttach);
13
+ let partial = {};
14
+ if (flags.enterprise)
15
+ partial.enterprise = flags.enterprise;
16
+ if (flags.cabinet)
17
+ partial.cabinet = flags.cabinet;
18
+ if (flags.environment)
19
+ partial.environment = flags.environment;
20
+ if (flags.cluster)
21
+ partial.cluster = flags.cluster;
22
+ 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);
23
+ const takeDefaults = flags['take-defaults'];
24
+ return [partial, interactionMode, takeDefaults];
25
+ });
26
+ }
27
+ buildCandidate_silently(partial, rootMap) {
28
+ var _a;
29
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
30
+ if (!partial.cabinet || _.isEmpty(partial.cabinet))
31
+ throw new Error("Missing --cabinet argument.");
32
+ if (!partial.environment || _.isEmpty(partial.environment))
33
+ throw new Error("Missing --environment argument.");
34
+ if (!partial.cluster || _.isEmpty(partial.cluster))
35
+ throw new Error("Missing --cluster argument.");
36
+ const ent = rootMap.enterprises.find(e => e.name === partial.enterprise);
37
+ if (!ent)
38
+ throw new Error(`Enterprise [${partial.enterprise}] was not found.`);
39
+ const env = ent.environments.find(e => e.name === partial.environment);
40
+ if (!env)
41
+ throw new Error(`Environment [${partial.environment}] was not found.`);
42
+ const cab = env.cabinets.find(c => c.name === partial.cabinet);
43
+ if (!cab)
44
+ throw new Error(`Cabinet [${partial.cabinet}] was not found.`);
45
+ const cluster = (_a = rootMap.clusters) === null || _a === void 0 ? void 0 : _a.find(c => c.name === partial.cluster);
46
+ if (!cluster)
47
+ throw new Error(`Cluster [${partial.cluster}] was not found.`);
48
+ return {
49
+ enterprise: partial.enterprise,
50
+ cabinet: partial.cabinet,
51
+ environment: partial.environment,
52
+ cluster: partial.cluster
53
+ };
54
+ });
55
+ }
56
+ buildCandidate_interactively(partial, rootMap, takeDefaults) {
57
+ var _a, _b;
58
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
59
+ const ent = rootMap.enterprises.find(e => e.name === partial.enterprise);
60
+ if (!ent)
61
+ throw new Error(`Enterprise [${partial.enterprise}] was not found.`);
62
+ // SELECT ENVIRONMENT
63
+ if (!partial.environment) {
64
+ const envChoices = ent.environments.map(e => ({ name: e.name, value: e.name }));
65
+ partial.environment = (yield this._ui.promptSelect("environment", "Environment: ", envChoices, false, false));
66
+ }
67
+ const env = ent.environments.find(e => e.name === partial.environment);
68
+ if (!env)
69
+ throw new Error(`Environment [${partial.environment}] was not found.`);
70
+ // SELECT CABINET
71
+ if (!partial.cabinet) {
72
+ const cabChoices = ((_a = env.cabinets) !== null && _a !== void 0 ? _a : []).map(c => ({ name: c.name, value: c.name }));
73
+ if (cabChoices.length === 0)
74
+ throw new Error(`No cabinets found in environment [${partial.environment}].`);
75
+ partial.cabinet = (yield this._ui.promptSelect("cabinet", "Cabinet: ", cabChoices, false, false));
76
+ }
77
+ // SELECT CLUSTER
78
+ if (!partial.cluster) {
79
+ const clusterChoices = ((_b = rootMap.clusters) !== null && _b !== void 0 ? _b : []).map(c => ({ name: c.name, value: c.name }));
80
+ if (clusterChoices.length === 0)
81
+ throw new Error("No clusters found.");
82
+ partial.cluster = (yield this._ui.promptSelect("cluster", "Attach to Cluster: ", clusterChoices, false, false));
83
+ }
84
+ return {
85
+ enterprise: partial.enterprise,
86
+ cabinet: partial.cabinet,
87
+ environment: partial.environment,
88
+ cluster: partial.cluster
89
+ };
90
+ });
91
+ }
92
+ buildCommandString(candidate, cmd) {
93
+ cmd.push("--enterprise", candidate.enterprise);
94
+ cmd.push("--cabinet", candidate.cabinet);
95
+ cmd.push("--environment", candidate.environment);
96
+ cmd.push("--cluster", candidate.cluster);
97
+ cmd.push("--silent");
98
+ return cmd;
99
+ }
100
+ executeTask(candidate) {
101
+ var _a, _b, _c, _d, _e;
102
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
103
+ const result = yield this._codiacApi.Call.CabinetClusterAttach({
104
+ cluster: candidate.cluster,
105
+ cabinets: [{ cabinet: candidate.cabinet, enterprise: candidate.enterprise, environment: candidate.environment }],
106
+ });
107
+ if (result.error)
108
+ throw result.error;
109
+ const failures = (_a = result.failures) !== null && _a !== void 0 ? _a : [];
110
+ if (failures.length > 0) {
111
+ this._ui.userMessage(`${this._styler.colorCritical("FAILED!")} ${(_d = (_c = (_b = failures[0]) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : result.message) !== null && _d !== void 0 ? _d : "Attach failed."}`);
112
+ return;
113
+ }
114
+ if (result.success) {
115
+ this._ui.userMessage(this._styler.colorGood("Success! ").concat(`Cabinet [${this._styler.hilite(candidate.cabinet)}] attached to cluster [${this._styler.hilite(candidate.cluster)}].`));
116
+ }
117
+ else {
118
+ this._ui.userMessage((_e = result.message) !== null && _e !== void 0 ? _e : "Operation failed without error (Check log for details).");
119
+ }
120
+ });
121
+ }
122
+ }
123
+ exports.default = CabinetClusterAttach;
124
+ CabinetClusterAttach.description = 'Declares which cluster a cabinet is intended to run on. Records the association in Codiac metadata so that restore and deploy operations know where to target the cabinet. No infrastructure is created or modified.';
125
+ CabinetClusterAttach.aliases = ["cab:cluster:attach"];
126
+ CabinetClusterAttach.examples = [
127
+ { description: 'Attach a cabinet to a cluster interactively.', command: '<%= config.bin %> <%= command.id %>' },
128
+ { description: 'Attach a specific cabinet to a cluster (prompts for missing values).', command: '<%= config.bin %> <%= command.id %> --enterprise acme --cabinet api-gateway --environment prod --cluster prod-cluster-1' },
129
+ { description: 'Non-interactive (scripted) invocation — fails fast on any missing argument.', command: '<%= config.bin %> <%= command.id %> --enterprise acme --cabinet api-gateway --environment prod --cluster prod-cluster-1 --silent' },
130
+ { description: 'Renders the equivalent silent command and then executes (useful for building scripts).', command: '<%= config.bin %> <%= command.id %> --enterprise acme --cabinet api-gateway --environment prod --cluster prod-cluster-1 --echo' },
131
+ { description: 'Renders the equivalent silent command without executing (dry run).', command: '<%= config.bin %> <%= command.id %> --enterprise acme --cabinet api-gateway --environment prod --cluster prod-cluster-1 --to-script' },
132
+ ];
133
+ CabinetClusterAttach.flags = {
134
+ enterprise: core_1.Flags.string({ char: 'e', description: 'The name of the enterprise in which the cabinet resides. NOTE: You can leave this blank if there is only one.' }),
135
+ cabinet: core_1.Flags.string({ char: 'b', required: false, description: 'Name of the cabinet to attach.' }),
136
+ environment: core_1.Flags.string({ char: 'n', required: false, description: 'Name of the environment the cabinet belongs to.' }),
137
+ cluster: core_1.Flags.string({ char: 'c', required: false, description: 'Name of the cluster to attach the cabinet to.' }),
138
+ silent: core_1.Flags.boolean({ exclusive: ["echo", "to-script"], description: 'Non-Interactive mode; executes without any user interaction and fails on any missing or invalid arguments.' }),
139
+ echo: core_1.Flags.boolean({ exclusive: ["to-script", "silent"], description: 'Echo interaction mode; renders the equivalent non-interactive cli command for future use before final execution.' }),
140
+ "to-script": core_1.Flags.boolean({ exclusive: ["echo", "silent"], description: 'Toscript interaction mode; renders the equivalent non-interactive cli command WITHOUT any execution.' }),
141
+ "take-defaults": core_1.Flags.boolean({ exclusive: ["silent"], description: "Prevents prompting for confirmation on parameters that were passed in or were automatically set to default values (Irrelevant in --silent mode)." })
142
+ };
143
+ CabinetClusterAttach.args = {};
144
+ //# sourceMappingURL=attach.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attach.js","sourceRoot":"","sources":["../../../../src/commands/cabinet/cluster/attach.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export type CabinetCreateRequest = CabinetScope & ILocalEntity & ISecurable & {
13
13
  export default class CabinetCreate extends CommandBaseExec<CabinetCreateRequest> {
14
14
  static description: string;
15
15
  static aliases: string[];
16
+ protected infrxAliases: string[] | undefined;
16
17
  static args: {
17
18
  cabinet: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
18
19
  };
@@ -9,6 +9,10 @@ const config_ui_utils_1 = require("../../uilogic/config-ui-utils");
9
9
  const prettify_1 = require("../../prettify");
10
10
  const type_safety_utils_1 = require("../../uilogic/type-safety-utils");
11
11
  class CabinetCreate extends command_base_exec_1.CommandBaseExec {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.infrxAliases = ["infrx:cabinet:create", "infrx:cab:create"];
15
+ }
12
16
  bootstrap() {
13
17
  super.bootstrap();
14
18
  cloud_provider_contextualizer_1.CloudProviderContextualizer.bootstrap(this.ioc);
@@ -151,7 +155,7 @@ class CabinetCreate extends command_base_exec_1.CommandBaseExec {
151
155
  }
152
156
  exports.default = CabinetCreate;
153
157
  CabinetCreate.description = 'Initializes a cabinet for a given enterprise and environment. Returns an error if the cabinet already exists.';
154
- CabinetCreate.aliases = ["cab:create"];
158
+ CabinetCreate.aliases = ["cab:create", "infrx:cabinet:create", "infrx:cab:create"];
155
159
  CabinetCreate.args = {
156
160
  cabinet: core_1.Args.string({ required: false, description: 'The name of the cabinet to create' })
157
161
  };
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/cabinet/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/cabinet/create.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
- import { CommandBaseEnterprise } from '../../command-base-enterprise';
1
+ import { Command } from '@oclif/core';
2
+ import { RootMap } from '../../apis/codiac-api/contracts';
3
+ import { CommandBaseExec, IEnterpriseEntity } from '../../command-base-exec';
4
+ import { AtLeast } from '@codiac.io/codiac-common/contracts';
5
+ import { InteractionModes } from '../../uilogic/config-ui-utils';
2
6
  export type FlatCabinet = {
3
7
  name: string;
4
8
  env: string;
@@ -9,16 +13,33 @@ export type FlatCabinet = {
9
13
  location: string;
10
14
  };
11
15
  };
12
- export default class CabinetList extends CommandBaseEnterprise {
16
+ type CabinetListRequest = IEnterpriseEntity & {
17
+ enterprise: string;
18
+ rootMap: RootMap;
19
+ };
20
+ export default class CabinetList extends CommandBaseExec<CabinetListRequest> {
13
21
  static description: string;
14
22
  static aliases: string[];
23
+ protected infrxAliases: string[] | undefined;
15
24
  static flags: {
16
- enterprise: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
17
- output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
18
25
  help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
26
+ enterprise: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
27
+ output: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
28
+ query: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
29
+ silent: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
30
+ echo: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
31
+ "to-script": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
19
32
  };
20
33
  static args: {};
21
- run(): Promise<void>;
34
+ static examples: Command.Example[];
35
+ private _outputFormat;
36
+ private _query;
37
+ captureArgs(): Promise<[Partial<CabinetListRequest>, InteractionModes | undefined, boolean]>;
38
+ buildCandidate_silently(partial: AtLeast<CabinetListRequest, "enterprise">, rootMap: RootMap): Promise<CabinetListRequest | undefined>;
39
+ buildCandidate_interactively(partial: AtLeast<CabinetListRequest, "enterprise">, rootMap: RootMap, takeDefaults: boolean): Promise<CabinetListRequest | undefined>;
40
+ buildCommandString(candidate: CabinetListRequest, cmd: string[]): string[];
41
+ executeTask(candidate: CabinetListRequest): Promise<void>;
42
+ private flattenCabinets;
22
43
  private buildCabinetTree;
23
- private FlattenCabinets;
24
44
  }
45
+ export {};
@@ -3,147 +3,156 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const core_1 = require("@oclif/core");
5
5
  const YAML = require("yaml");
6
- const command_base_enterprise_1 = require("../../command-base-enterprise");
6
+ const jmespath = require("jmespath");
7
+ const command_base_exec_1 = require("../../command-base-exec");
7
8
  const _ = require("lodash");
8
9
  const render = require("../../uilogic/render-methods");
9
10
  const render_methods_1 = require("../../uilogic/render-methods");
10
11
  const type_safety_utils_1 = require("../../uilogic/type-safety-utils");
11
- class CabinetList extends command_base_enterprise_1.CommandBaseEnterprise {
12
- run() {
13
- var _a;
12
+ const config_ui_utils_1 = require("../../uilogic/config-ui-utils");
13
+ class CabinetList extends command_base_exec_1.CommandBaseExec {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.infrxAliases = ["infrx:cabinet:list", "infrx:cab:list"];
17
+ this._outputFormat = render_methods_1.OutputFormatsEnum.tree;
18
+ }
19
+ captureArgs() {
20
+ var _a, _b, _c;
14
21
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
15
- this.bootstrap();
16
- const { args, flags } = yield this.parse(CabinetList);
17
- try {
18
- this._userCntx = yield this.establishTenantContext(this._userCntx);
19
- let rootMap = yield this.getRootMap();
20
- const interactionMode = this.getInteractionMode(flags.silent, flags.echo, flags['to-script']);
21
- let currentEnterprise = (yield this.establishEnterpriseContext(rootMap, flags.enterprise, interactionMode)).enterprise;
22
- _.remove(rootMap.enterprises, e => e.name != currentEnterprise.name); // trim down to match legacy conditions
23
- let outputFormat = (_a = type_safety_utils_1.TypeSafetyUtils.toEnum(render_methods_1.OutputFormatsEnum, flags.output)) !== null && _a !== void 0 ? _a : render_methods_1.OutputFormatsEnum.tree;
24
- // RETRIEVE
25
- if ([render_methods_1.OutputFormatsEnum.json, render_methods_1.OutputFormatsEnum.yaml].includes(outputFormat) === false)
26
- this._ui.startSpinner("Retrieving cabinets");
27
- let cabCount = 0;
28
- // rootMap.enterprises.forEach(e => e.environments.forEach(nv => cabCount += nv.cabinets.length));
29
- currentEnterprise.environments.forEach(nv => cabCount += nv.cabinets.length);
30
- if ([render_methods_1.OutputFormatsEnum.json, render_methods_1.OutputFormatsEnum.yaml].includes(outputFormat) === false)
31
- this._ui.stopSpinner(`found ${cabCount}`);
32
- if (cabCount == 0) {
33
- // None found, so if this is human-readable render, just quit and dont render anything else.
34
- // (yaml & json renders need to still render an empty data structure)
35
- if ([render_methods_1.OutputFormatsEnum.json, render_methods_1.OutputFormatsEnum.yaml].includes(outputFormat) === false) {
36
- return;
37
- }
38
- }
39
- // RENDER
40
- let output = "";
41
- switch (outputFormat) {
42
- case render_methods_1.OutputFormatsEnum.json:
43
- let listForJson = this.FlattenCabinets(rootMap);
44
- listForJson = _.sortBy(listForJson, c => c.enterprise, c => c.env, c => c.name);
45
- output = JSON.stringify(listForJson, undefined, 2);
46
- this._ui.userMessage(output);
47
- break;
48
- case render_methods_1.OutputFormatsEnum.yaml:
49
- let listForYaml = this.FlattenCabinets(rootMap);
50
- listForYaml = _.sortBy(listForYaml, c => c.enterprise, c => c.env, c => c.name);
51
- output = YAML.stringify(listForYaml, { indent: 2 });
52
- this._ui.userMessage(output);
53
- break;
54
- case render_methods_1.OutputFormatsEnum.text:
55
- let flatList = this.FlattenCabinets(rootMap);
56
- flatList = _.sortBy(flatList, c => c.enterprise, c => c.env, c => c.name);
57
- let listForText = flatList.map(c => {
58
- let clusterDesc = ` (${c.cluster.name}, ${c.cluster.provider} ${c.cluster.location})`;
59
- return `${c.enterprise}/${c.env}/${this._styler.hilite(c.name)}${this._styler.dim(clusterDesc)}`;
60
- });
61
- output = render.renderStringList(listForText);
62
- this._ui.userMessage(output);
63
- break;
64
- // TODO:
65
- // case OutputFormatsEnum.table:
66
- // case OutputFormatsEnum.tsv:
67
- // break;
68
- case render_methods_1.OutputFormatsEnum.tree:
69
- default:
70
- let cabTree = this.buildCabinetTree(rootMap);
71
- let out = render.renderStringTree(cabTree); //, this._ui.userMessage);
72
- this._ui.userMessage(out);
73
- break;
74
- }
75
- // if ([OutputFormatsEnum.tree].includes(outputFormat)) {
76
- // let cabTree = this.buildCabinetTree(rootMap);
77
- // let out = this.renderStringTree(cabTree); //, this._ui.userMessage);
78
- // this._ui.userMessage(out);
79
- // } else {
80
- // let flatList: FlatCabinet[] = this.FlattenCabinets(rootMap);
81
- // flatList = _.sortBy(flatList, c => c.enterprise, c => c.env, c => c.name)
82
- // this.renderCabinets(flatList, outputFormat);
83
- // }
22
+ const { flags } = yield this.parse(CabinetList);
23
+ let partial = {};
24
+ if (flags.enterprise)
25
+ partial.enterprise = flags.enterprise;
26
+ this._query = flags.query;
27
+ this._outputFormat = (_a = type_safety_utils_1.TypeSafetyUtils.toEnum(render_methods_1.OutputFormatsEnum, flags.output)) !== null && _a !== void 0 ? _a : render_methods_1.OutputFormatsEnum.tree;
28
+ if (this._query && !flags.output)
29
+ this._outputFormat = render_methods_1.OutputFormatsEnum.json;
30
+ if (this._query && [render_methods_1.OutputFormatsEnum.text, render_methods_1.OutputFormatsEnum.tree].includes(this._outputFormat)) {
31
+ throw new Error("--query is not compatible with --output text or --output tree.");
84
32
  }
85
- catch (err) {
86
- this.handleError(err);
87
- }
88
- finally {
89
- yield this.closeConnections();
33
+ const interactionMode = (this.pipedInput) ? config_ui_utils_1.InteractionModes.silent : (_c = (_b = undefined !== null && undefined !== void 0 ? undefined : (flags.echo ? config_ui_utils_1.InteractionModes.echo : undefined)) !== null && _b !== void 0 ? _b : (flags["to-script"] ? config_ui_utils_1.InteractionModes.toscript : undefined)) !== null && _c !== void 0 ? _c : (flags.silent ? config_ui_utils_1.InteractionModes.silent : undefined);
34
+ return [partial, interactionMode, false];
35
+ });
36
+ }
37
+ buildCandidate_silently(partial, rootMap) {
38
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
39
+ return { enterprise: partial.enterprise, rootMap };
40
+ });
41
+ }
42
+ buildCandidate_interactively(partial, rootMap, takeDefaults) {
43
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
44
+ return { enterprise: partial.enterprise, rootMap };
45
+ });
46
+ }
47
+ buildCommandString(candidate, cmd) {
48
+ cmd.push("-e", candidate.enterprise);
49
+ cmd.push("-o", this._outputFormat);
50
+ if (this._query)
51
+ cmd.push("-q", this._query);
52
+ cmd.push("--silent");
53
+ return cmd;
54
+ }
55
+ executeTask(candidate) {
56
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
57
+ const machineReadable = [render_methods_1.OutputFormatsEnum.json, render_methods_1.OutputFormatsEnum.yaml].includes(this._outputFormat);
58
+ const ent = candidate.rootMap.enterprises.find(e => e.name === candidate.enterprise);
59
+ if (!ent)
60
+ throw new Error(`Enterprise "${candidate.enterprise}" not found.`);
61
+ const flatList = this.flattenCabinets(candidate.rootMap, candidate.enterprise);
62
+ if (!machineReadable && flatList.length === 0)
90
63
  return;
64
+ let data = flatList;
65
+ if (this._query) {
66
+ data = jmespath.search(flatList, this._query);
67
+ }
68
+ switch (this._outputFormat) {
69
+ case render_methods_1.OutputFormatsEnum.json:
70
+ const sortedForJson = this._query ? data : _.sortBy(flatList, c => c.enterprise, c => c.env, c => c.name);
71
+ this._ui.userMessage(JSON.stringify(sortedForJson, undefined, 2));
72
+ break;
73
+ case render_methods_1.OutputFormatsEnum.yaml:
74
+ const sortedForYaml = this._query ? data : _.sortBy(flatList, c => c.enterprise, c => c.env, c => c.name);
75
+ this._ui.userMessage(YAML.stringify(sortedForYaml, { indent: 2 }));
76
+ break;
77
+ case render_methods_1.OutputFormatsEnum.text:
78
+ const sortedForText = _.sortBy(flatList, c => c.enterprise, c => c.env, c => c.name);
79
+ const listForText = sortedForText.map(c => {
80
+ const clusterDesc = ` (${c.cluster.name}, ${c.cluster.provider} ${c.cluster.location})`;
81
+ return `${c.enterprise}/${c.env}/${this._styler.hilite(c.name)}${this._styler.dim(clusterDesc)}`;
82
+ });
83
+ this._ui.userMessage(render.renderStringList(listForText));
84
+ break;
85
+ case render_methods_1.OutputFormatsEnum.tree:
86
+ default:
87
+ this._ui.userMessage(render.renderStringTree(this.buildCabinetTree(candidate.rootMap, candidate.enterprise)));
88
+ break;
91
89
  }
92
90
  });
93
91
  }
94
- buildCabinetTree(rootMap) {
95
- var _a;
96
- let tree = [];
97
- for (let ent of rootMap.enterprises) {
98
- let entBranch = { text: `${ent.name} enterprise:` };
99
- for (let env of _.sortBy(ent.environments, e => e.sequence, e => e.name)) {
100
- let envBranch = { text: `${env.name}` };
101
- for (let cab of env.cabinets) {
102
- let cwg = rootMap.clusters.find(c => c.name === cab.cluster);
103
- let clusterDesc = cwg ? ` (${cab.cluster}, ${cwg.provider} ${cwg.locationName})` : "";
104
- let cabBranch = { text: `${this._styler.hilite(cab.name)}${this._styler.dim(clusterDesc)} ` };
105
- if (envBranch.children === undefined)
106
- envBranch.children = [];
107
- (_a = envBranch.children) === null || _a === void 0 ? void 0 : _a.push(cabBranch);
108
- }
109
- if (entBranch.children === undefined)
110
- entBranch.children = [];
111
- entBranch.children.push(envBranch);
92
+ flattenCabinets(rootMap, enterprise) {
93
+ var _a, _b, _c;
94
+ const flattened = [];
95
+ const ent = rootMap.enterprises.find(e => e.name === enterprise);
96
+ if (!ent)
97
+ return flattened;
98
+ for (const env of ent.environments) {
99
+ for (const cab of env.cabinets) {
100
+ const clus = rootMap.clusters.find(c => c.name === cab.cluster);
101
+ flattened.push({
102
+ name: cab.name,
103
+ enterprise: ent.name,
104
+ env: env.name,
105
+ cluster: {
106
+ name: (_a = clus === null || clus === void 0 ? void 0 : clus.name) !== null && _a !== void 0 ? _a : "undefined",
107
+ provider: (_b = clus === null || clus === void 0 ? void 0 : clus.provider) !== null && _b !== void 0 ? _b : "undefined",
108
+ location: (_c = clus === null || clus === void 0 ? void 0 : clus.locationName) !== null && _c !== void 0 ? _c : "undefined"
109
+ }
110
+ });
112
111
  }
113
- tree.push(entBranch);
114
112
  }
115
- return tree;
113
+ return flattened;
116
114
  }
117
- FlattenCabinets(rootMap) {
118
- var _a, _b, _c;
119
- let flattened = [];
120
- for (let ent of rootMap.enterprises) {
121
- for (let env of ent.environments) {
122
- for (let cab of env.cabinets) {
123
- let clus = rootMap.clusters.find(c => c.name === cab.cluster);
124
- flattened.push({
125
- name: cab.name,
126
- enterprise: ent.name,
127
- env: env.name,
128
- cluster: {
129
- name: (_a = clus === null || clus === void 0 ? void 0 : clus.name) !== null && _a !== void 0 ? _a : "undefined",
130
- provider: (_b = clus === null || clus === void 0 ? void 0 : clus.provider) !== null && _b !== void 0 ? _b : "undefined",
131
- location: (_c = clus === null || clus === void 0 ? void 0 : clus.locationName) !== null && _c !== void 0 ? _c : "undefined"
132
- }
133
- });
134
- }
115
+ buildCabinetTree(rootMap, enterprise) {
116
+ const tree = [];
117
+ const ent = rootMap.enterprises.find(e => e.name === enterprise);
118
+ if (!ent)
119
+ return tree;
120
+ const entBranch = { text: `${ent.name} enterprise:` };
121
+ for (const env of _.sortBy(ent.environments, e => e.sequence, e => e.name)) {
122
+ const envBranch = { text: `${env.name}` };
123
+ for (const cab of env.cabinets) {
124
+ const cwg = rootMap.clusters.find(c => c.name === cab.cluster);
125
+ const clusterDesc = cwg ? ` (${cab.cluster}, ${cwg.provider} ${cwg.locationName})` : "";
126
+ if (envBranch.children === undefined)
127
+ envBranch.children = [];
128
+ envBranch.children.push({ text: `${this._styler.hilite(cab.name)}${this._styler.dim(clusterDesc)} ` });
135
129
  }
130
+ if (entBranch.children === undefined)
131
+ entBranch.children = [];
132
+ entBranch.children.push(envBranch);
136
133
  }
137
- return flattened;
134
+ tree.push(entBranch);
135
+ return tree;
138
136
  }
139
137
  }
140
138
  exports.default = CabinetList;
141
139
  CabinetList.description = 'Shows the list of cabinets and environment.';
142
- CabinetList.aliases = ["cab:list"];
140
+ CabinetList.aliases = ["cab:list", "infrx:cabinet:list", "infrx:cab:list"];
143
141
  CabinetList.flags = {
144
- enterprise: core_1.Flags.string({ description: '(required only if more than one enterprise exists) The name of the enterprise in which to list cabinets.' }),
145
- output: core_1.Flags.string({ char: 'o', default: render_methods_1.OutputFormatsEnum.tree, description: "format in which to render the data.", options: [render_methods_1.OutputFormatsEnum.json, render_methods_1.OutputFormatsEnum.yaml, render_methods_1.OutputFormatsEnum.tree, render_methods_1.OutputFormatsEnum.text] }),
146
- help: core_1.Flags.help({ char: 'h', description: 'Displays the help document for this command.' })
142
+ help: core_1.Flags.help({ char: 'h' }),
143
+ enterprise: core_1.Flags.string({ char: 'e', description: 'The name of the enterprise in which to list cabinets (required only if more than one enterprise exists).' }),
144
+ output: core_1.Flags.string({ char: 'o', description: "Format in which to render the results (defaults to tree).", options: [render_methods_1.OutputFormatsEnum.json, render_methods_1.OutputFormatsEnum.yaml, render_methods_1.OutputFormatsEnum.tree, render_methods_1.OutputFormatsEnum.text] }),
145
+ query: core_1.Flags.string({ char: 'q', description: "JMESPath expression to filter or reshape the results (see jmespath.org)." }),
146
+ silent: core_1.Flags.boolean({ exclusive: ["echo", "to-script"], description: 'Executes without any user interaction; fails on missing or invalid arguments.' }),
147
+ echo: core_1.Flags.boolean({ exclusive: ["to-script", "silent"], description: 'Renders the equivalent non-interactive command for future use before executing.' }),
148
+ "to-script": core_1.Flags.boolean({ exclusive: ["echo", "silent"], description: 'Renders the equivalent non-interactive command without executing it.' }),
147
149
  };
148
150
  CabinetList.args = {};
151
+ CabinetList.examples = [
152
+ { description: "List all cabinets for the current enterprise.", command: "<%= config.bin %> <%= command.id %>" },
153
+ { description: "List cabinets for a specific enterprise.", command: "<%= config.bin %> <%= command.id %> -e myEnterprise" },
154
+ { description: "List cabinet names only.", command: "<%= config.bin %> <%= command.id %> -q '[].name'" },
155
+ { description: "Export as YAML.", command: "<%= config.bin %> <%= command.id %> -o yaml" },
156
+ { description: "Non-interactive (scripted) invocation.", command: "<%= config.bin %> <%= command.id %> -e myEnterprise --silent" },
157
+ ];
149
158
  //# sourceMappingURL=list.js.map