@contrail/cli 2.4.0-alpha-0.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/README.md +550 -193
  2. package/dist/auth/login.d.ts +2 -1
  3. package/dist/auth/login.js +119 -45
  4. package/dist/auth/login.spec.d.ts +1 -0
  5. package/dist/auth/login.spec.js +10 -0
  6. package/dist/baseFlags.d.ts +10 -0
  7. package/dist/baseFlags.js +25 -0
  8. package/dist/basecommand.d.ts +5 -2
  9. package/dist/basecommand.js +51 -45
  10. package/dist/commands/app/create.d.ts +4 -0
  11. package/dist/commands/app/create.js +3 -0
  12. package/dist/commands/app/delete.d.ts +4 -0
  13. package/dist/commands/app/delete.js +3 -0
  14. package/dist/commands/app/getApiKey.d.ts +2 -0
  15. package/dist/commands/app/getApiKey.js +3 -3
  16. package/dist/commands/app/init.d.ts +5 -1
  17. package/dist/commands/app/init.js +6 -3
  18. package/dist/commands/app/install.d.ts +2 -0
  19. package/dist/commands/app/install.js +11 -11
  20. package/dist/commands/app/publish.d.ts +2 -0
  21. package/dist/commands/app/publish.js +3 -3
  22. package/dist/commands/app/uninstall.d.ts +2 -0
  23. package/dist/commands/app/uninstall.js +5 -5
  24. package/dist/commands/app/upgrade.d.ts +2 -0
  25. package/dist/commands/app/upgrade.js +8 -8
  26. package/dist/commands/app/version/major.d.ts +4 -0
  27. package/dist/commands/app/version/major.js +3 -0
  28. package/dist/commands/app/version/minor.d.ts +4 -0
  29. package/dist/commands/app/version/minor.js +3 -0
  30. package/dist/commands/app/version/patch.d.ts +4 -0
  31. package/dist/commands/app/version/patch.js +3 -0
  32. package/dist/commands/config/create.d.ts +12 -0
  33. package/dist/commands/config/create.js +27 -0
  34. package/dist/commands/config/describe.d.ts +14 -0
  35. package/dist/commands/config/describe.js +46 -0
  36. package/dist/commands/config/list.d.ts +4 -0
  37. package/dist/commands/config/list.js +5 -1
  38. package/dist/commands/config/set.d.ts +3 -2
  39. package/dist/commands/config/set.js +17 -13
  40. package/dist/commands/config/use.d.ts +14 -0
  41. package/dist/commands/config/use.js +47 -0
  42. package/dist/commands/file/upload.d.ts +15 -0
  43. package/dist/commands/file/upload.js +69 -0
  44. package/dist/commands/groups/export.d.ts +2 -0
  45. package/dist/commands/groups/export.js +2 -2
  46. package/dist/commands/groups/{upload.d.ts → import.d.ts} +4 -0
  47. package/dist/commands/groups/{upload.js → import.js} +60 -23
  48. package/dist/commands/instance/export.d.ts +2 -0
  49. package/dist/commands/instance/export.js +4 -4
  50. package/dist/commands/instance/import.d.ts +2 -0
  51. package/dist/commands/instance/import.js +8 -8
  52. package/dist/commands/load/colors.d.ts +14 -0
  53. package/dist/commands/load/colors.js +53 -0
  54. package/dist/commands/load/custom-entity.d.ts +14 -0
  55. package/dist/commands/load/custom-entity.js +55 -0
  56. package/dist/commands/load/line-sheet.d.ts +14 -0
  57. package/dist/commands/load/line-sheet.js +55 -0
  58. package/dist/commands/{loader-process → load}/upload-and-load.d.ts +4 -0
  59. package/dist/commands/{loader-process → load}/upload-and-load.js +6 -4
  60. package/dist/commands/projects/export.d.ts +4 -1
  61. package/dist/commands/projects/export.js +4 -3
  62. package/dist/commands/projects/list.d.ts +4 -0
  63. package/dist/commands/projects/list.js +3 -0
  64. package/dist/commands/projects/load.d.ts +4 -0
  65. package/dist/commands/projects/load.js +5 -3
  66. package/dist/commands/types/exportOptionSetHierarchies.d.ts +4 -0
  67. package/dist/commands/types/exportOptionSetHierarchies.js +3 -0
  68. package/dist/commands/types/getAll.d.ts +9 -27
  69. package/dist/commands/types/getAll.js +6 -313
  70. package/dist/commands/types/getOptionSets.d.ts +16 -0
  71. package/dist/commands/types/getOptionSets.js +171 -0
  72. package/dist/commands/types/loadAll.d.ts +2 -0
  73. package/dist/commands/types/loadAll.js +2 -2
  74. package/dist/commands/types/mergeOptionSets.d.ts +4 -0
  75. package/dist/commands/types/mergeOptionSets.js +5 -3
  76. package/dist/commands/types/mergeTypeProperties.d.ts +4 -0
  77. package/dist/commands/types/mergeTypeProperties.js +11 -9
  78. package/dist/commands/types/parseOptionSetsHierarchyLocalFile.d.ts +4 -0
  79. package/dist/commands/types/parseOptionSetsHierarchyLocalFile.js +4 -2
  80. package/dist/commands/types/parseOptionSetsHierarchyValuesToKeysLocalFile.d.ts +4 -0
  81. package/dist/commands/types/parseOptionSetsHierarchyValuesToKeysLocalFile.js +4 -2
  82. package/dist/commands/types/parseOptionSetsLocalFiles.d.ts +2 -0
  83. package/dist/commands/types/parseOptionSetsLocalFiles.js +4 -4
  84. package/dist/commands/types/parseOptionSetsToFolderStructure.d.ts +4 -0
  85. package/dist/commands/types/parseOptionSetsToFolderStructure.js +6 -4
  86. package/dist/commands/types/parseTypesFromFiles.d.ts +4 -0
  87. package/dist/commands/types/parseTypesFromFiles.js +4 -2
  88. package/dist/commands/types/parseTypesFromLocalFiles.d.ts +4 -0
  89. package/dist/commands/types/parseTypesFromLocalFiles.js +4 -2
  90. package/dist/commands/types/parseTypesFromTemplateAndDataFromLocalFiles.d.ts +4 -0
  91. package/dist/commands/types/parseTypesFromTemplateAndDataFromLocalFiles.js +5 -3
  92. package/dist/commands/types/parseTypesFromTemplateFromLocalFiles.d.ts +4 -0
  93. package/dist/commands/types/parseTypesFromTemplateFromLocalFiles.js +5 -3
  94. package/dist/commands/types/uploadOptionSetHierarchies.d.ts +2 -0
  95. package/dist/commands/types/uploadOptionSetHierarchies.js +2 -2
  96. package/dist/commands/types/uploadOptionSets.d.ts +2 -0
  97. package/dist/commands/types/uploadOptionSets.js +2 -2
  98. package/dist/commands/types/uploadOptionSetsHierarchyLocalFile.d.ts +4 -0
  99. package/dist/commands/types/uploadOptionSetsHierarchyLocalFile.js +4 -2
  100. package/dist/commands/types/uploadRuleSets.d.ts +2 -0
  101. package/dist/commands/types/uploadRuleSets.js +2 -2
  102. package/dist/commands/types/uploadTypePolicies.d.ts +2 -0
  103. package/dist/commands/types/uploadTypePolicies.js +2 -2
  104. package/dist/commands/types/uploadTypePropertyPolicies.d.ts +2 -0
  105. package/dist/commands/types/uploadTypePropertyPolicies.js +2 -2
  106. package/dist/commands/types/uploadTypes.d.ts +2 -0
  107. package/dist/commands/types/uploadTypes.js +2 -2
  108. package/dist/commands/types/uploadUsageInfo.d.ts +2 -0
  109. package/dist/commands/types/uploadUsageInfo.js +2 -2
  110. package/dist/commands/users/export.d.ts +2 -0
  111. package/dist/commands/users/export.js +2 -2
  112. package/dist/commands/users/{upload.d.ts → import.d.ts} +4 -0
  113. package/dist/commands/users/{upload.js → import.js} +4 -2
  114. package/dist/commands/webhooks/create.d.ts +2 -0
  115. package/dist/commands/webhooks/create.js +2 -2
  116. package/dist/commands/webhooks/delete.d.ts +2 -0
  117. package/dist/commands/webhooks/delete.js +5 -5
  118. package/dist/commands/webhooks/getWebhookTrigger.d.ts +4 -0
  119. package/dist/commands/webhooks/getWebhookTrigger.js +6 -4
  120. package/dist/commands/webhooks/list.d.ts +2 -0
  121. package/dist/commands/webhooks/list.js +2 -2
  122. package/dist/commands/workflow-template-definitions/install.d.ts +4 -0
  123. package/dist/commands/workflow-template-definitions/install.js +3 -0
  124. package/dist/commands/workflow-template-definitions/list.d.ts +4 -0
  125. package/dist/commands/workflow-template-definitions/list.js +3 -0
  126. package/dist/commands/workflow-templates/delete.d.ts +4 -0
  127. package/dist/commands/workflow-templates/delete.js +3 -0
  128. package/dist/commands/workflow-templates/export.d.ts +2 -0
  129. package/dist/commands/workflow-templates/export.js +4 -2
  130. package/dist/commands/workflow-templates/list.d.ts +4 -0
  131. package/dist/commands/workflow-templates/list.js +3 -0
  132. package/dist/commands/workflow-templates/load.d.ts +4 -0
  133. package/dist/commands/workflow-templates/load.js +4 -2
  134. package/dist/helpers/config/config.d.ts +12 -2
  135. package/dist/helpers/config/config.js +158 -16
  136. package/dist/helpers/file-helpers.d.ts +1 -0
  137. package/dist/helpers/file-helpers.js +11 -1
  138. package/dist/helpers/load/helpers.d.ts +20 -0
  139. package/dist/helpers/load/helpers.js +141 -0
  140. package/dist/helpers/load/helpers.spec.d.ts +1 -0
  141. package/dist/helpers/load/helpers.spec.js +62 -0
  142. package/dist/helpers/load/validators.d.ts +14 -0
  143. package/dist/helpers/load/validators.js +165 -0
  144. package/dist/helpers/load/validators.spec.d.ts +1 -0
  145. package/dist/helpers/load/validators.spec.js +406 -0
  146. package/dist/helpers/types/type-uploader.js +11 -3
  147. package/dist/helpers/workflow-template-definitions/workflow-template-definition-deployer.js +1 -1
  148. package/dist/helpers/workflow-templates/helper.js +0 -4
  149. package/dist/interfaces.d.ts +1 -0
  150. package/dist/templates/typescript/app.yml +17 -19
  151. package/dist/templates/typescript/package.json +14 -0
  152. package/dist/templates/typescript/src/actions/logItem.ts +0 -1
  153. package/oclif.manifest.json +1949 -198
  154. package/package.json +5 -4
  155. package/dist/auth/auth.d.ts +0 -9
  156. package/dist/auth/auth.js +0 -7
  157. package/dist/commands/colors/deleteAll.d.ts +0 -6
  158. package/dist/commands/colors/deleteAll.js +0 -31
  159. package/dist/commands/colors/load.d.ts +0 -6
  160. package/dist/commands/colors/load.js +0 -30
  161. package/dist/commands/config/environments/list.d.ts +0 -7
  162. package/dist/commands/config/environments/list.js +0 -19
  163. package/dist/commands/config/environments/remove.d.ts +0 -12
  164. package/dist/commands/config/environments/remove.js +0 -36
  165. package/dist/commands/config/environments/set.d.ts +0 -12
  166. package/dist/commands/config/environments/set.js +0 -29
  167. package/dist/commands/config/remove.d.ts +0 -15
  168. package/dist/commands/config/remove.js +0 -28
  169. package/dist/commands/loader-process/load.d.ts +0 -9
  170. package/dist/commands/loader-process/load.js +0 -39
  171. package/dist/helpers/loader-process/helpers.d.ts +0 -2
  172. package/dist/helpers/loader-process/helpers.js +0 -99
@@ -12,21 +12,23 @@ const core_1 = require("@oclif/core");
12
12
  const basecommand_1 = require("../../basecommand");
13
13
  const logger_1 = tslib_1.__importDefault(require("../../logger"));
14
14
  class ImportGroups extends basecommand_1.BaseCommand {
15
- static description = 'Import all groups in the groups.yml file';
15
+ static description = 'Import all groups from a yml. Uses the groups.yml file in the current directory.';
16
16
  static examples = [
17
- `$ contrail groups import <GROUPS_FILE>
18
- `,
17
+ '$ contrail groups import <GROUPS_FILE>',
18
+ '$ contrail groups import --groupsFile <GROUPS_FILE>',
19
19
  ];
20
+ static flags = {
21
+ ...basecommand_1.BaseCommand.baseFlags,
22
+ };
20
23
  static args = {
21
24
  groupsFile: core_1.Args.string({ description: 'The .yml file containing the groups', required: true }),
22
25
  };
23
26
  async run() {
24
- const { args } = await this.parse(ImportGroups);
25
27
  try {
26
28
  await (0, login_1.authUser)();
27
29
  this.log('%s Uploading Groups.', chalk_1.default.blue.bold('START'));
28
30
  this.log('%s Uploading', chalk_1.default.yellow.bold('GROUP'));
29
- await uploadGroups(args.groupsFile);
31
+ await uploadGroups(this.args.groupsFile);
30
32
  this.log('%s Uploaded', chalk_1.default.yellow.bold('GROUP'));
31
33
  }
32
34
  catch (e) {
@@ -65,6 +67,7 @@ async function uploadGroups(fileLocation) {
65
67
  for (const group of toCreate) {
66
68
  if (!group.groupPrincipals || !group.name) {
67
69
  logger_1.default.info('skipping create of invalid group');
70
+ continue;
68
71
  }
69
72
  createdGroups.push(await new sdk_1.Entities().create({
70
73
  entityName: 'group',
@@ -82,6 +85,7 @@ async function uploadGroups(fileLocation) {
82
85
  for (const group of toUpdate) {
83
86
  if (!group.groupPrincipals || !group.name) {
84
87
  logger_1.default.info('skipping update invalid group');
88
+ continue;
85
89
  }
86
90
  const existingGroup = existingGroups.find((x) => x.name === group.name);
87
91
  await updateGroup(group.groupPrincipals, orgUsers, existingGroup, allGroupsAfterCreate);
@@ -89,8 +93,14 @@ async function uploadGroups(fileLocation) {
89
93
  for (const group of toDelete) {
90
94
  if (!group.groupPrincipals || !group.name) {
91
95
  logger_1.default.info('skipping delete of invalid group');
96
+ continue;
97
+ }
98
+ try {
99
+ await new sdk_1.Entities().delete({ entityName: 'group', id: group.id });
100
+ }
101
+ catch (e) {
102
+ logger_1.default.error(`Failed to delete group with id ${group.id} ${e.message}`);
92
103
  }
93
- await new sdk_1.Entities().delete({ entityName: 'group', id: group.id });
94
104
  }
95
105
  }
96
106
  exports.uploadGroups = uploadGroups;
@@ -101,25 +111,45 @@ async function updateGroup(principals, orgUsers, existingGroup, allGroupsAfterCr
101
111
  .map((x) => {
102
112
  return { principalReference: `${x.type}:${x.identifier}`, groupId: existingGroup.id };
103
113
  });
104
- await new sdk_1.Entities().batchCreate({
105
- entityName: 'group-principal',
106
- objects: {
107
- principalReferences: principalsToUpdate.map((x) => x.principalReference),
108
- groupIds: [existingGroup.id],
109
- },
110
- });
114
+ if (principalsToUpdate.length) {
115
+ try {
116
+ await new sdk_1.Entities().batchCreate({
117
+ entityName: 'group-principal',
118
+ objects: {
119
+ principalReferences: principalsToUpdate.map((x) => x.principalReference),
120
+ groupIds: [existingGroup.id],
121
+ },
122
+ });
123
+ }
124
+ catch (e) {
125
+ logger_1.default.error(`Failed to update group ${e.message}`);
126
+ }
127
+ }
111
128
  // remove principals
112
129
  const principalsToKeep = principalsToUpdate.map((principal) => `${principal.type}:${principal.identifier}`);
113
130
  const principalsToDelete = (existingGroup?.groupPrincipals ?? [])
114
131
  .map((x) => groupPrincipalNameToId(x, allGroupsAfterCreate, orgUsers))
115
132
  .filter((x) => !!x)
116
133
  .filter((x) => !principalsToKeep.includes(`${x.type}:${x.identifier}`));
117
- await principalsToDelete.forEach(async (principal) => {
118
- await new sdk_1.Entities().delete({
119
- entityName: 'group-principal',
120
- id: principal.cloudId,
121
- });
122
- });
134
+ if (principalsToDelete.length) {
135
+ // Process deletions in chunks
136
+ const chunkSize = 25;
137
+ for (let i = 0; i < principalsToDelete.length; i += chunkSize) {
138
+ const chunk = principalsToDelete.slice(i, i + chunkSize);
139
+ const idsToDelete = chunk.map((principal) => principal.cloudId).filter((id) => !!id);
140
+ if (idsToDelete.length) {
141
+ try {
142
+ await new sdk_1.Entities().batchDelete({
143
+ entityName: 'group-principal',
144
+ ids: idsToDelete,
145
+ });
146
+ }
147
+ catch (e) {
148
+ logger_1.default.error(`Failed to delete group principals ${e.message}`);
149
+ }
150
+ }
151
+ }
152
+ }
123
153
  }
124
154
  async function createGroupPrincipals(group, principals, orgUsers, allGroupsAfterCreate) {
125
155
  const principalsToCreate = principals
@@ -128,10 +158,17 @@ async function createGroupPrincipals(group, principals, orgUsers, allGroupsAfter
128
158
  .map((x) => {
129
159
  return { principalReference: `${x.type}:${x.identifier}`, groupId: group.id };
130
160
  });
131
- await new sdk_1.Entities().batchCreate({
132
- entityName: 'group-principal',
133
- objects: principalsToCreate,
134
- });
161
+ if (principalsToCreate.length) {
162
+ try {
163
+ await new sdk_1.Entities().batchCreate({
164
+ entityName: 'group-principal',
165
+ objects: principalsToCreate,
166
+ });
167
+ }
168
+ catch (e) {
169
+ logger_1.default.error(`Failed to create group principals for group ${e.message}`);
170
+ }
171
+ }
135
172
  }
136
173
  function groupPrincipalNameToId(principal, groups, orgUsers) {
137
174
  if (principal.type === 'user') {
@@ -5,6 +5,8 @@ export default class ExportInstance extends BaseCommand {
5
5
  static flags: {
6
6
  outDir: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
7
  overwrite: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ alwaysConfirmEnv: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ logLevel: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
10
  };
9
11
  run(): Promise<void>;
10
12
  }
@@ -14,6 +14,7 @@ class ExportInstance extends basecommand_1.BaseCommand {
14
14
  `,
15
15
  ];
16
16
  static flags = {
17
+ ...basecommand_1.BaseCommand.baseFlags,
17
18
  outDir: core_1.Flags.string({
18
19
  char: 'd',
19
20
  description: 'The directory to which to export the instance data. Defaults to the current directory',
@@ -28,10 +29,9 @@ class ExportInstance extends basecommand_1.BaseCommand {
28
29
  }),
29
30
  };
30
31
  async run() {
31
- const { flags } = await this.parse(ExportInstance);
32
- await (0, getAll_1.getAll)(flags.outDir, flags.overwrite);
33
- await (0, export_1.exportUsers)(path.join(flags.outDir, 'users.yml'), flags.overwrite);
34
- await (0, export_2.exportGroups)(path.join(flags.outDir, 'groups.yml'), flags.overwrite);
32
+ await (0, getAll_1.getAll)(this.flags.outDir, this.flags.overwrite);
33
+ await (0, export_1.exportUsers)(path.join(this.flags.outDir, 'users.yml'), this.flags.overwrite);
34
+ await (0, export_2.exportGroups)(path.join(this.flags.outDir, 'groups.yml'), this.flags.overwrite);
35
35
  }
36
36
  }
37
37
  exports.default = ExportInstance;
@@ -4,6 +4,8 @@ export default class ImportInstance extends BaseCommand {
4
4
  static examples: string[];
5
5
  static flags: {
6
6
  dir: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
+ alwaysConfirmEnv: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ logLevel: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
9
  };
8
10
  run(): Promise<void>;
9
11
  }
@@ -4,8 +4,8 @@ const tslib_1 = require("tslib");
4
4
  const path = tslib_1.__importStar(require("path"));
5
5
  const core_1 = require("@oclif/core");
6
6
  const loadAll_1 = require("../types/loadAll");
7
- const upload_1 = require("../users/upload");
8
- const upload_2 = require("../groups/upload");
7
+ const import_1 = require("../users/import");
8
+ const import_2 = require("../groups/import");
9
9
  const uploadTypePropertyPolicies_1 = require("../types/uploadTypePropertyPolicies");
10
10
  const uploadTypePolicies_1 = require("../types/uploadTypePolicies");
11
11
  const basecommand_1 = require("../../basecommand");
@@ -16,6 +16,7 @@ class ImportInstance extends basecommand_1.BaseCommand {
16
16
  `,
17
17
  ];
18
18
  static flags = {
19
+ ...basecommand_1.BaseCommand.baseFlags,
19
20
  dir: core_1.Flags.string({
20
21
  char: 'd',
21
22
  description: 'The directory from which to export the instance data. Defaults to the current directory',
@@ -24,12 +25,11 @@ class ImportInstance extends basecommand_1.BaseCommand {
24
25
  }),
25
26
  };
26
27
  async run() {
27
- const { flags } = await this.parse(ImportInstance);
28
- await (0, loadAll_1.loadAll)(flags.dir, true);
29
- await (0, upload_1.uploadUsers)(path.join(flags.dir, 'users.yml'));
30
- await (0, upload_2.uploadGroups)(path.join(flags.dir, 'groups.yml'));
31
- await (0, uploadTypePropertyPolicies_1.uploadTypePropertyPolicies)(flags.dir);
32
- await (0, uploadTypePolicies_1.uploadTypePolicies)(flags.dir);
28
+ await (0, loadAll_1.loadAll)(this.flags.dir, true);
29
+ await (0, import_1.uploadUsers)(path.join(this.flags.dir, 'users.yml'));
30
+ await (0, import_2.uploadGroups)(path.join(this.flags.dir, 'groups.yml'));
31
+ await (0, uploadTypePropertyPolicies_1.uploadTypePropertyPolicies)(this.flags.dir);
32
+ await (0, uploadTypePolicies_1.uploadTypePolicies)(this.flags.dir);
33
33
  }
34
34
  }
35
35
  exports.default = ImportInstance;
@@ -0,0 +1,14 @@
1
+ import { BaseCommand } from '../../basecommand';
2
+ export default class LoadColors extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ alwaysConfirmEnv: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
+ logLevel: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ };
9
+ static args: {
10
+ dataFile: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
11
+ configFile: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
12
+ };
13
+ run(): Promise<void>;
14
+ }
@@ -0,0 +1,53 @@
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 chalk_1 = tslib_1.__importDefault(require("chalk"));
6
+ const login_1 = require("../../auth/login");
7
+ const basecommand_1 = require("../../basecommand");
8
+ const helpers_1 = require("../../helpers/load/helpers");
9
+ const logger_1 = tslib_1.__importDefault(require("../../logger"));
10
+ const validators_1 = require("../../helpers/load/validators");
11
+ class LoadColors extends basecommand_1.BaseCommand {
12
+ static description = 'Loads colors object from a CSV file and config YAML';
13
+ static examples = ['$ contrail load colors <CSV file> <config yaml>'];
14
+ static flags = {
15
+ ...basecommand_1.BaseCommand.baseFlags,
16
+ };
17
+ static args = {
18
+ dataFile: core_1.Args.string({
19
+ char: 'f',
20
+ description: 'The CSV data file',
21
+ required: true,
22
+ }),
23
+ configFile: core_1.Args.string({
24
+ char: 'c',
25
+ description: 'The YAML configuration file',
26
+ required: true,
27
+ }),
28
+ };
29
+ async run() {
30
+ try {
31
+ logger_1.default.info(`${chalk_1.default.yellow.bold('COLORS LOADER')} Parsing colors file`);
32
+ const colorsData = (0, helpers_1.readFile)(this.args.dataFile, helpers_1.FileExtension.CSV);
33
+ const configFile = (0, helpers_1.readFile)(this.args.configFile, helpers_1.FileExtension.YAML);
34
+ const validation = validators_1.LoadValidators.ValidateColorsLoadFile(colorsData, configFile);
35
+ if (validation.warnings.length) {
36
+ console.warn(validation.warnings);
37
+ }
38
+ if (validation.errors.length) {
39
+ throw new Error(validation.errors.join('\n'));
40
+ }
41
+ logger_1.default.info(`${chalk_1.default.yellow.bold('COLORS LOADER')} Uploading file`);
42
+ await (0, login_1.authUser)();
43
+ await (0, helpers_1.uploadAndLoadLocalFile)(this.args.dataFile, this.args.configFile);
44
+ logger_1.default.info(`${chalk_1.default.yellow.bold('COLORS LOADER')} Uploaded`);
45
+ }
46
+ catch (e) {
47
+ logger_1.default.info(`${chalk_1.default.red.bold('FAIL')} Starting Load Failed. ${e}`);
48
+ return;
49
+ }
50
+ logger_1.default.info(`${chalk_1.default.green.bold('COMPLETE')} Starting Load Complete.`);
51
+ }
52
+ }
53
+ exports.default = LoadColors;
@@ -0,0 +1,14 @@
1
+ import { BaseCommand } from '../../basecommand';
2
+ export default class LoadCustomEntity extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ alwaysConfirmEnv: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
+ logLevel: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ };
9
+ static args: {
10
+ dataFile: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
11
+ configFile: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
12
+ };
13
+ run(): Promise<void>;
14
+ }
@@ -0,0 +1,55 @@
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 login_1 = require("../../auth/login");
6
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
7
+ const helpers_1 = require("../../helpers/load/helpers");
8
+ const basecommand_1 = require("../../basecommand");
9
+ const logger_1 = tslib_1.__importDefault(require("../../logger"));
10
+ const validators_1 = require("../../helpers/load/validators");
11
+ class LoadCustomEntity extends basecommand_1.BaseCommand {
12
+ static description = 'Loads custom-entity object from a CSV file and config YAML';
13
+ static examples = ['$ contrail load custom-entity <CSV file> <config yaml>'];
14
+ static flags = {
15
+ ...basecommand_1.BaseCommand.baseFlags,
16
+ };
17
+ static args = {
18
+ dataFile: core_1.Args.string({
19
+ char: 'f',
20
+ description: 'The CSV data file',
21
+ required: true,
22
+ }),
23
+ configFile: core_1.Args.string({
24
+ char: 'c',
25
+ description: 'The YAML configuration file',
26
+ required: true,
27
+ }),
28
+ };
29
+ async run() {
30
+ try {
31
+ logger_1.default.info(`${chalk_1.default.yellow.bold('CUSTOM-ENTITY LOADER')} Parsing custom-entity file`);
32
+ const customEntityData = (0, helpers_1.readFile)(this.args.dataFile, helpers_1.FileExtension.CSV);
33
+ const configFile = (0, helpers_1.readFile)(this.args.configFile, helpers_1.FileExtension.YAML);
34
+ const validation = validators_1.LoadValidators.ValidateCustomEntityLoadFile(customEntityData, configFile);
35
+ if (validation.warnings.length) {
36
+ console.warn(validation.warnings);
37
+ }
38
+ if (validation.errors.length) {
39
+ throw new Error(validation.errors.join('\n'));
40
+ }
41
+ await (0, login_1.authUser)();
42
+ logger_1.default.info(`${chalk_1.default.yellow.bold('CUSTOM-ENTITY LOADER')} Uploading file`);
43
+ const incomingFileName = this.args.dataFile;
44
+ const configFileName = this.args.configFile;
45
+ await (0, helpers_1.uploadAndLoadLocalFile)(incomingFileName, configFileName);
46
+ logger_1.default.info(`${chalk_1.default.yellow.bold('CUSTOM-ENTITY LOADER')} Uploaded`);
47
+ }
48
+ catch (e) {
49
+ logger_1.default.info(`${chalk_1.default.red.bold('FAIL')} Starting Load Failed. ${e}`);
50
+ return;
51
+ }
52
+ logger_1.default.info(`${chalk_1.default.green.bold('COMPLETE')} Starting Load Complete.`);
53
+ }
54
+ }
55
+ exports.default = LoadCustomEntity;
@@ -0,0 +1,14 @@
1
+ import { BaseCommand } from '../../basecommand';
2
+ export default class LoadCustomEntity extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ alwaysConfirmEnv: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
+ logLevel: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ };
9
+ static args: {
10
+ dataFile: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
11
+ configFile: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
12
+ };
13
+ run(): Promise<void>;
14
+ }
@@ -0,0 +1,55 @@
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 login_1 = require("../../auth/login");
6
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
7
+ const helpers_1 = require("../../helpers/load/helpers");
8
+ const basecommand_1 = require("../../basecommand");
9
+ const logger_1 = tslib_1.__importDefault(require("../../logger"));
10
+ const validators_1 = require("../../helpers/load/validators");
11
+ class LoadCustomEntity extends basecommand_1.BaseCommand {
12
+ static description = 'Loads line sheet data from a CSV file and config YAML';
13
+ static examples = ['$ contrail load line-sheet <CSV file> <config yaml>'];
14
+ static flags = {
15
+ ...basecommand_1.BaseCommand.baseFlags,
16
+ };
17
+ static args = {
18
+ dataFile: core_1.Args.string({
19
+ char: 'f',
20
+ description: 'The CSV data file',
21
+ required: true,
22
+ }),
23
+ configFile: core_1.Args.string({
24
+ char: 'c',
25
+ description: 'The YAML configuration file',
26
+ required: true,
27
+ }),
28
+ };
29
+ async run() {
30
+ try {
31
+ logger_1.default.info(`${chalk_1.default.yellow.bold('LINE-SHEET LOADER')} Parsing custom-entity file`);
32
+ const lineSheetData = (0, helpers_1.readFile)(this.args.dataFile, helpers_1.FileExtension.CSV);
33
+ const configFile = (0, helpers_1.readFile)(this.args.configFile, helpers_1.FileExtension.YAML);
34
+ const validation = validators_1.LoadValidators.ValidateLineSheetLoadFile(lineSheetData, configFile);
35
+ if (validation.warnings.length) {
36
+ console.warn(validation.warnings);
37
+ }
38
+ if (validation.errors.length) {
39
+ throw new Error(validation.errors.join('\n'));
40
+ }
41
+ await (0, login_1.authUser)();
42
+ logger_1.default.info(`${chalk_1.default.yellow.bold('LINE-SHEET LOADER')} Uploading file`);
43
+ const incomingFileName = this.args.dataFile;
44
+ const configFileName = this.args.configFile;
45
+ await (0, helpers_1.uploadAndLoadLocalFile)(incomingFileName, configFileName);
46
+ logger_1.default.info(`${chalk_1.default.yellow.bold('LINE-SHEET LOADER')} Uploaded`);
47
+ }
48
+ catch (e) {
49
+ logger_1.default.info(`${chalk_1.default.red.bold('FAIL')} Starting Load Failed. ${e}`);
50
+ return;
51
+ }
52
+ logger_1.default.info(`${chalk_1.default.green.bold('COMPLETE')} Starting Load Complete.`);
53
+ }
54
+ }
55
+ exports.default = LoadCustomEntity;
@@ -2,6 +2,10 @@ import { BaseCommand } from '../../basecommand';
2
2
  export default class UploadAndLoadPS extends BaseCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
+ static flags: {
6
+ alwaysConfirmEnv: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
+ logLevel: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ };
5
9
  static args: {
6
10
  incomingFile: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
7
11
  configFileName: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
@@ -4,7 +4,7 @@ const tslib_1 = require("tslib");
4
4
  const core_1 = require("@oclif/core");
5
5
  const login_1 = require("../../auth/login");
6
6
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
7
- const helpers_1 = require("../../helpers/loader-process/helpers");
7
+ const helpers_1 = require("../../helpers/load/helpers");
8
8
  const basecommand_1 = require("../../basecommand");
9
9
  const logger_1 = tslib_1.__importDefault(require("../../logger"));
10
10
  class UploadAndLoadPS extends basecommand_1.BaseCommand {
@@ -13,6 +13,9 @@ class UploadAndLoadPS extends basecommand_1.BaseCommand {
13
13
  `$ contrail load-processor upload-and-load <File Path> <Config Path>
14
14
  `,
15
15
  ];
16
+ static flags = {
17
+ ...basecommand_1.BaseCommand.baseFlags,
18
+ };
16
19
  static args = {
17
20
  incomingFile: core_1.Args.string({
18
21
  char: 'f',
@@ -26,12 +29,11 @@ class UploadAndLoadPS extends basecommand_1.BaseCommand {
26
29
  }),
27
30
  };
28
31
  async run() {
29
- const { args } = await this.parse(UploadAndLoadPS);
30
32
  try {
31
33
  await (0, login_1.authUser)();
32
34
  logger_1.default.info(`${chalk_1.default.yellow.bold('LOADER')} Uploading file`);
33
- const incomingFileName = args.incomingFile;
34
- const configFileName = args.configFileName;
35
+ const incomingFileName = this.args.incomingFile;
36
+ const configFileName = this.args.configFileName;
35
37
  await (0, helpers_1.uploadAndLoadLocalFile)(incomingFileName, configFileName);
36
38
  logger_1.default.info(`${chalk_1.default.yellow.bold('LOADER')} Uploaded`);
37
39
  }
@@ -2,7 +2,10 @@ import { BaseCommand } from '../../basecommand';
2
2
  export default class ExportProjects extends BaseCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
- static flags: {};
5
+ static flags: {
6
+ alwaysConfirmEnv: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
+ logLevel: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ };
6
9
  static args: {
7
10
  projectName: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
8
11
  };
@@ -12,17 +12,18 @@ class ExportProjects extends basecommand_1.BaseCommand {
12
12
  `$ contrail project export <PROJECT_NAME>
13
13
  `,
14
14
  ];
15
- static flags = {};
15
+ static flags = {
16
+ ...basecommand_1.BaseCommand.baseFlags,
17
+ };
16
18
  static args = {
17
19
  projectName: core_1.Args.string({ description: '', required: true }),
18
20
  };
19
21
  async run() {
20
- const { args } = await this.parse(ExportProjects);
21
22
  try {
22
23
  await (0, login_1.authUser)();
23
24
  this.log('%s Exporting Project.', chalk_1.default.blue.bold('START'));
24
25
  this.log('%s Exporting', chalk_1.default.yellow.bold('PROJECT'));
25
- await (0, helpers_1.exportProject)(args.projectName);
26
+ await (0, helpers_1.exportProject)(this.args.projectName);
26
27
  this.log('%s Exported', chalk_1.default.yellow.bold('PROJECT'));
27
28
  }
28
29
  catch (e) {
@@ -2,5 +2,9 @@ import { BaseCommand } from '../../basecommand';
2
2
  export default class ListProjects extends BaseCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
+ static flags: {
6
+ alwaysConfirmEnv: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
+ logLevel: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ };
5
9
  run(): Promise<void>;
6
10
  }
@@ -11,6 +11,9 @@ class ListProjects extends basecommand_1.BaseCommand {
11
11
  `$ contrail project list
12
12
  `,
13
13
  ];
14
+ static flags = {
15
+ ...basecommand_1.BaseCommand.baseFlags,
16
+ };
14
17
  async run() {
15
18
  try {
16
19
  await (0, login_1.authUser)();
@@ -2,6 +2,10 @@ import { BaseCommand } from '../../basecommand';
2
2
  export default class LoadProject extends BaseCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
+ static flags: {
6
+ alwaysConfirmEnv: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
+ logLevel: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ };
5
9
  static args: {
6
10
  templateFileLocation: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
7
11
  };
@@ -15,6 +15,9 @@ class LoadProject extends basecommand_1.BaseCommand {
15
15
  `$ contrail project load <TEMPLATE_FILE_LOCATION>
16
16
  `,
17
17
  ];
18
+ static flags = {
19
+ ...basecommand_1.BaseCommand.baseFlags,
20
+ };
18
21
  static args = {
19
22
  templateFileLocation: core_1.Args.string({
20
23
  description: 'The location to the template file',
@@ -22,13 +25,12 @@ class LoadProject extends basecommand_1.BaseCommand {
22
25
  }),
23
26
  };
24
27
  async run() {
25
- const { args } = await this.parse(LoadProject);
26
28
  try {
27
29
  await (0, login_1.authUser)();
28
30
  this.log('%s Parsing Template.', chalk_1.default.blue.bold('START'));
29
31
  this.log('%s Uploading', chalk_1.default.yellow.bold('PROJECT'));
30
- const templateFileLocation = args.templateFileLocation;
31
- this.log('Using Template File Location: ', args.templateFileLocation);
32
+ const templateFileLocation = this.args.templateFileLocation;
33
+ this.log('Using Template File Location: ', this.args.templateFileLocation);
32
34
  await uploadProject(templateFileLocation);
33
35
  this.log('%s Uploaded', chalk_1.default.yellow.bold('PROJECT'));
34
36
  }
@@ -2,6 +2,10 @@ import { BaseCommand } from '../../basecommand';
2
2
  export default class ExportOptionSetsHierarchies extends BaseCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
+ static flags: {
6
+ alwaysConfirmEnv: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
+ logLevel: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ };
5
9
  run(): Promise<void>;
6
10
  }
7
11
  export declare function exportOptionSetsHierarchies(): Promise<void>;
@@ -17,6 +17,9 @@ class ExportOptionSetsHierarchies extends basecommand_1.BaseCommand {
17
17
  `$ contrail types exportOptionSetsHierarchies
18
18
  `,
19
19
  ];
20
+ static flags = {
21
+ ...basecommand_1.BaseCommand.baseFlags,
22
+ };
20
23
  async run() {
21
24
  await exportOptionSetsHierarchies();
22
25
  }