@contrail/cli 3.4.1 → 3.4.2-alpha.1
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.
- package/README.md +5 -4
- package/bin/dev +0 -0
- package/bin/run +0 -0
- package/dist/__mocks__/@contrail/sdk.d.ts +123 -123
- package/dist/__mocks__/@contrail/sdk.js +716 -716
- package/dist/api/app-extension-deployments.d.ts +2 -2
- package/dist/api/app-extension-deployments.js +11 -11
- package/dist/api/app-extension-packages.d.ts +2 -2
- package/dist/api/app-extension-packages.js +11 -11
- package/dist/api/apps.d.ts +10 -10
- package/dist/api/apps.js +63 -63
- package/dist/api/event-workflow-action-definition.d.ts +3 -3
- package/dist/api/event-workflow-action-definition.js +18 -18
- package/dist/api/event-workflow-template-definition.d.ts +7 -7
- package/dist/api/event-workflow-template-definition.js +26 -26
- package/dist/api/event-workflow-templates.d.ts +8 -8
- package/dist/api/event-workflow-templates.js +32 -32
- package/dist/api/schedules.d.ts +7 -7
- package/dist/api/schedules.js +32 -32
- package/dist/api/types.d.ts +11 -11
- package/dist/api/types.js +79 -79
- package/dist/api/users.d.ts +2 -2
- package/dist/api/users.js +18 -18
- package/dist/api/webhooks.d.ts +4 -4
- package/dist/api/webhooks.js +16 -16
- package/dist/auth/login.d.ts +3 -3
- package/dist/auth/login.js +221 -221
- package/dist/auth/login.spec.d.ts +1 -1
- package/dist/auth/login.spec.js +10 -10
- package/dist/baseFlags.d.ts +10 -10
- package/dist/baseFlags.js +25 -25
- package/dist/basecommand.d.ts +15 -15
- package/dist/basecommand.js +83 -83
- package/dist/commands/app/create.d.ts +10 -10
- package/dist/commands/app/create.js +96 -96
- package/dist/commands/app/delete.d.ts +11 -11
- package/dist/commands/app/delete.js +40 -40
- package/dist/commands/app/extension/deploy.d.ts +18 -18
- package/dist/commands/app/extension/deploy.js +127 -127
- package/dist/commands/app/extension/deployment/list.d.ts +14 -14
- package/dist/commands/app/extension/deployment/list.js +82 -82
- package/dist/commands/app/getApiKey.d.ts +11 -11
- package/dist/commands/app/getApiKey.js +49 -49
- package/dist/commands/app/init.d.ts +10 -10
- package/dist/commands/app/init.js +67 -67
- package/dist/commands/app/install.d.ts +13 -13
- package/dist/commands/app/install.js +135 -135
- package/dist/commands/app/publish.d.ts +14 -14
- package/dist/commands/app/publish.js +69 -69
- package/dist/commands/app/uninstall.d.ts +12 -12
- package/dist/commands/app/uninstall.js +68 -68
- package/dist/commands/app/upgrade.d.ts +14 -14
- package/dist/commands/app/upgrade.js +108 -108
- package/dist/commands/app/version/major.d.ts +11 -11
- package/dist/commands/app/version/major.js +39 -39
- package/dist/commands/app/version/minor.d.ts +11 -11
- package/dist/commands/app/version/minor.js +39 -39
- package/dist/commands/app/version/patch.d.ts +11 -11
- package/dist/commands/app/version/patch.js +39 -39
- package/dist/commands/config/create.d.ts +12 -12
- package/dist/commands/config/create.js +27 -27
- package/dist/commands/config/describe.d.ts +14 -14
- package/dist/commands/config/describe.js +46 -46
- package/dist/commands/config/list.d.ts +11 -11
- package/dist/commands/config/list.js +38 -38
- package/dist/commands/config/set.d.ts +16 -16
- package/dist/commands/config/set.js +46 -46
- package/dist/commands/config/use.d.ts +14 -14
- package/dist/commands/config/use.js +47 -47
- package/dist/commands/file/upload.d.ts +15 -15
- package/dist/commands/file/upload.js +69 -69
- package/dist/commands/groups/export.d.ts +14 -14
- package/dist/commands/groups/export.js +103 -103
- package/dist/commands/groups/import.d.ts +14 -14
- package/dist/commands/groups/import.js +190 -190
- package/dist/commands/instance/export.d.ts +12 -12
- package/dist/commands/instance/export.js +36 -36
- package/dist/commands/instance/import.d.ts +11 -11
- package/dist/commands/instance/import.js +34 -34
- package/dist/commands/load/colors.d.ts +14 -14
- package/dist/commands/load/colors.js +53 -53
- package/dist/commands/load/custom-entity.d.ts +14 -14
- package/dist/commands/load/custom-entity.js +55 -55
- package/dist/commands/load/line-sheet.d.ts +14 -14
- package/dist/commands/load/line-sheet.js +55 -55
- package/dist/commands/load/upload-and-load.d.ts +14 -14
- package/dist/commands/load/upload-and-load.js +46 -46
- package/dist/commands/projects/export.d.ts +13 -13
- package/dist/commands/projects/export.js +35 -35
- package/dist/commands/projects/list.d.ts +10 -10
- package/dist/commands/projects/list.js +36 -36
- package/dist/commands/projects/load.d.ts +25 -25
- package/dist/commands/projects/load.js +198 -198
- package/dist/commands/types/exportOptionSetHierarchies.d.ts +11 -11
- package/dist/commands/types/exportOptionSetHierarchies.js +133 -133
- package/dist/commands/types/getAll.d.ts +21 -21
- package/dist/commands/types/getAll.js +180 -180
- package/dist/commands/types/getOptionSets.d.ts +16 -16
- package/dist/commands/types/getOptionSets.js +170 -170
- package/dist/commands/types/loadAll.d.ts +12 -12
- package/dist/commands/types/loadAll.js +55 -55
- package/dist/commands/types/mergeOptionSets.d.ts +13 -13
- package/dist/commands/types/mergeOptionSets.js +116 -119
- package/dist/commands/types/mergeTypeProperties.d.ts +15 -15
- package/dist/commands/types/mergeTypeProperties.js +95 -95
- package/dist/commands/types/parseOptionSetsHierarchyLocalFile.d.ts +14 -14
- package/dist/commands/types/parseOptionSetsHierarchyLocalFile.js +133 -133
- package/dist/commands/types/parseOptionSetsHierarchyValuesToKeysLocalFile.d.ts +14 -14
- package/dist/commands/types/parseOptionSetsHierarchyValuesToKeysLocalFile.js +102 -102
- package/dist/commands/types/parseOptionSetsLocalFiles.d.ts +39 -39
- package/dist/commands/types/parseOptionSetsLocalFiles.js +229 -229
- package/dist/commands/types/parseOptionSetsToFolderStructure.d.ts +13 -13
- package/dist/commands/types/parseOptionSetsToFolderStructure.js +68 -68
- package/dist/commands/types/parseTypesFromFiles.d.ts +14 -14
- package/dist/commands/types/parseTypesFromFiles.js +40 -40
- package/dist/commands/types/parseTypesFromLocalFiles.d.ts +14 -14
- package/dist/commands/types/parseTypesFromLocalFiles.js +37 -37
- package/dist/commands/types/parseTypesFromTemplateAndDataFromLocalFiles.d.ts +15 -15
- package/dist/commands/types/parseTypesFromTemplateAndDataFromLocalFiles.js +39 -39
- package/dist/commands/types/parseTypesFromTemplateFromLocalFiles.d.ts +14 -14
- package/dist/commands/types/parseTypesFromTemplateFromLocalFiles.js +38 -38
- package/dist/commands/types/uploadOptionSetHierarchies.d.ts +12 -12
- package/dist/commands/types/uploadOptionSetHierarchies.js +257 -257
- package/dist/commands/types/uploadOptionSets.d.ts +13 -13
- package/dist/commands/types/uploadOptionSets.js +155 -155
- package/dist/commands/types/uploadOptionSetsHierarchyLocalFile.d.ts +15 -15
- package/dist/commands/types/uploadOptionSetsHierarchyLocalFile.js +135 -135
- package/dist/commands/types/uploadRuleSets.d.ts +12 -12
- package/dist/commands/types/uploadRuleSets.js +197 -197
- package/dist/commands/types/uploadTypePolicies.d.ts +12 -12
- package/dist/commands/types/uploadTypePolicies.js +233 -233
- package/dist/commands/types/uploadTypePropertyPolicies.d.ts +13 -13
- package/dist/commands/types/uploadTypePropertyPolicies.js +286 -286
- package/dist/commands/types/uploadTypes.d.ts +13 -13
- package/dist/commands/types/uploadTypes.js +35 -35
- package/dist/commands/types/uploadUsageInfo.d.ts +12 -12
- package/dist/commands/types/uploadUsageInfo.js +172 -172
- package/dist/commands/users/export.d.ts +14 -14
- package/dist/commands/users/export.js +76 -76
- package/dist/commands/users/import.d.ts +14 -14
- package/dist/commands/users/import.js +68 -68
- package/dist/commands/webhooks/create.d.ts +11 -11
- package/dist/commands/webhooks/create.js +25 -25
- package/dist/commands/webhooks/delete.d.ts +14 -14
- package/dist/commands/webhooks/delete.js +53 -53
- package/dist/commands/webhooks/getWebhookTrigger.d.ts +13 -13
- package/dist/commands/webhooks/getWebhookTrigger.js +40 -40
- package/dist/commands/webhooks/list.d.ts +12 -12
- package/dist/commands/webhooks/list.js +31 -31
- package/dist/commands/workflow-template-definitions/install.d.ts +10 -10
- package/dist/commands/workflow-template-definitions/install.js +19 -19
- package/dist/commands/workflow-template-definitions/list.d.ts +10 -10
- package/dist/commands/workflow-template-definitions/list.js +19 -19
- package/dist/commands/workflow-templates/delete.d.ts +10 -10
- package/dist/commands/workflow-templates/delete.js +19 -19
- package/dist/commands/workflow-templates/export.d.ts +14 -14
- package/dist/commands/workflow-templates/export.js +78 -78
- package/dist/commands/workflow-templates/list.d.ts +10 -10
- package/dist/commands/workflow-templates/list.js +19 -19
- package/dist/commands/workflow-templates/load.d.ts +13 -13
- package/dist/commands/workflow-templates/load.js +26 -26
- package/dist/common.d.ts +4 -4
- package/dist/common.js +18 -18
- package/dist/helpers/app/actions-deployer.d.ts +11 -11
- package/dist/helpers/app/actions-deployer.js +123 -123
- package/dist/helpers/app/app-config-validators.d.ts +22 -22
- package/dist/helpers/app/app-config-validators.js +100 -100
- package/dist/helpers/app/app-config-validators.spec.d.ts +1 -1
- package/dist/helpers/app/app-config-validators.spec.js +310 -310
- package/dist/helpers/app/app-deployer.d.ts +12 -12
- package/dist/helpers/app/app-deployer.js +278 -278
- package/dist/helpers/app/app-template-parsers.d.ts +14 -14
- package/dist/helpers/app/app-template-parsers.js +106 -106
- package/dist/helpers/app/extension-package-deployer.d.ts +7 -7
- package/dist/helpers/app/extension-package-deployer.js +175 -175
- package/dist/helpers/app/extensions-deployer.d.ts +9 -9
- package/dist/helpers/app/extensions-deployer.js +95 -93
- package/dist/helpers/app/load-app-config.d.ts +4 -4
- package/dist/helpers/app/load-app-config.js +22 -22
- package/dist/helpers/app/metadata-extractor.d.ts +1 -1
- package/dist/helpers/app/metadata-extractor.js +100 -100
- package/dist/helpers/app/setup-template.d.ts +8 -8
- package/dist/helpers/app/setup-template.js +48 -48
- package/dist/helpers/app/update-app-config.d.ts +2 -2
- package/dist/helpers/app/update-app-config.js +20 -20
- package/dist/helpers/app/upgrade-version.d.ts +16 -16
- package/dist/helpers/app/upgrade-version.js +37 -37
- package/dist/helpers/app/upgrade-version.spec.d.ts +1 -1
- package/dist/helpers/app/upgrade-version.spec.js +33 -33
- package/dist/helpers/colors/helpers.d.ts +12 -12
- package/dist/helpers/colors/helpers.js +84 -84
- package/dist/helpers/config/config.d.ts +16 -16
- package/dist/helpers/config/config.js +223 -223
- package/dist/helpers/file-helpers.d.ts +2 -2
- package/dist/helpers/file-helpers.js +36 -36
- package/dist/helpers/load/helpers.d.ts +20 -20
- package/dist/helpers/load/helpers.js +141 -141
- package/dist/helpers/load/helpers.spec.d.ts +1 -1
- package/dist/helpers/load/helpers.spec.js +62 -62
- package/dist/helpers/load/validators.d.ts +14 -14
- package/dist/helpers/load/validators.js +182 -182
- package/dist/helpers/load/validators.spec.d.ts +1 -1
- package/dist/helpers/load/validators.spec.js +450 -450
- package/dist/helpers/projects/helpers.d.ts +3 -3
- package/dist/helpers/projects/helpers.js +167 -167
- package/dist/helpers/types/csv-parser.d.ts +1 -1
- package/dist/helpers/types/csv-parser.js +59 -59
- package/dist/helpers/types/option-set-helper.d.ts +9 -0
- package/dist/helpers/types/option-set-helper.js +48 -0
- package/dist/helpers/types/option-set-helper.spec.d.ts +1 -0
- package/dist/helpers/types/option-set-helper.spec.js +69 -0
- package/dist/helpers/types/parseOptionSetsLocalFiles.spec.d.ts +1 -1
- package/dist/helpers/types/parseOptionSetsLocalFiles.spec.js +285 -285
- package/dist/helpers/types/type-extractor.d.ts +1 -1
- package/dist/helpers/types/type-extractor.js +36 -36
- package/dist/helpers/types/type-parser.d.ts +4 -4
- package/dist/helpers/types/type-parser.js +119 -119
- package/dist/helpers/types/type-uploader.d.ts +20 -20
- package/dist/helpers/types/type-uploader.js +336 -336
- package/dist/helpers/types/type-uploader.spec.d.ts +1 -1
- package/dist/helpers/types/type-uploader.spec.js +266 -266
- package/dist/helpers/types/uploadOptionSets.spec.d.ts +1 -1
- package/dist/helpers/types/uploadOptionSets.spec.js +19 -19
- package/dist/helpers/workflow-template-definitions/workflow-template-definition-deployer.d.ts +12 -12
- package/dist/helpers/workflow-template-definitions/workflow-template-definition-deployer.js +158 -158
- package/dist/helpers/workflow-templates/helper.d.ts +20 -20
- package/dist/helpers/workflow-templates/helper.js +285 -285
- package/dist/index.d.ts +1 -1
- package/dist/index.js +5 -5
- package/dist/interfaces.d.ts +445 -444
- package/dist/interfaces.js +163 -163
- package/dist/logger.d.ts +3 -3
- package/dist/logger.js +33 -33
- package/oclif.manifest.json +3 -3
- package/package.json +1 -1
|
@@ -1,181 +1,181 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getAll = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const core_1 = require("@oclif/core");
|
|
6
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
7
|
-
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
8
|
-
const login_1 = require("../../auth/login");
|
|
9
|
-
const path = tslib_1.__importStar(require("path"));
|
|
10
|
-
const type_extractor_1 = require("../../helpers/types/type-extractor");
|
|
11
|
-
const types_1 = require("../../api/types");
|
|
12
|
-
const types_2 = require("@contrail/org-config-migration/lib/types");
|
|
13
|
-
const file_helpers_1 = require("../../helpers/file-helpers");
|
|
14
|
-
const basecommand_1 = require("../../basecommand");
|
|
15
|
-
const logger_1 = tslib_1.__importDefault(require("../../logger"));
|
|
16
|
-
const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
|
|
17
|
-
const common_1 = require("../../common");
|
|
18
|
-
const users_1 = require("../../api/users");
|
|
19
|
-
class GetAllTypes extends basecommand_1.BaseCommand {
|
|
20
|
-
static description = 'Get all Types and associated data for your Org';
|
|
21
|
-
static examples = [
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAll = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const core_1 = require("@oclif/core");
|
|
6
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
7
|
+
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
8
|
+
const login_1 = require("../../auth/login");
|
|
9
|
+
const path = tslib_1.__importStar(require("path"));
|
|
10
|
+
const type_extractor_1 = require("../../helpers/types/type-extractor");
|
|
11
|
+
const types_1 = require("../../api/types");
|
|
12
|
+
const types_2 = require("@contrail/org-config-migration/lib/types");
|
|
13
|
+
const file_helpers_1 = require("../../helpers/file-helpers");
|
|
14
|
+
const basecommand_1 = require("../../basecommand");
|
|
15
|
+
const logger_1 = tslib_1.__importDefault(require("../../logger"));
|
|
16
|
+
const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
|
|
17
|
+
const common_1 = require("../../common");
|
|
18
|
+
const users_1 = require("../../api/users");
|
|
19
|
+
class GetAllTypes extends basecommand_1.BaseCommand {
|
|
20
|
+
static description = 'Get all Types and associated data for your Org';
|
|
21
|
+
static examples = [
|
|
22
22
|
`$ contrail types getAll
|
|
23
|
-
`,
|
|
24
|
-
];
|
|
25
|
-
static flags = {
|
|
26
|
-
...basecommand_1.BaseCommand.baseFlags,
|
|
27
|
-
outDir: core_1.Flags.string({
|
|
28
|
-
char: 'd',
|
|
29
|
-
description: 'The directory to which to export the type data. Defaults to the current directory',
|
|
30
|
-
required: false,
|
|
31
|
-
default: '.',
|
|
32
|
-
}),
|
|
33
|
-
overwrite: core_1.Flags.boolean({
|
|
34
|
-
char: 'f',
|
|
35
|
-
description: 'Replaces any existing export files in outDir',
|
|
36
|
-
required: false,
|
|
37
|
-
default: false,
|
|
38
|
-
}),
|
|
39
|
-
};
|
|
40
|
-
async run() {
|
|
41
|
-
await getAll(this.flags.outDir, this.flags.overwrite);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
exports.default = GetAllTypes;
|
|
45
|
-
async function getAll(outDir, overwrite) {
|
|
46
|
-
try {
|
|
47
|
-
const userConfig = await (0, login_1.authUser)();
|
|
48
|
-
logger_1.default.info(`${chalk_1.default.blue.bold('START')} Getting all types for org ${userConfig.orgSlug}`);
|
|
49
|
-
// make directory to house exports
|
|
50
|
-
if (!fs_1.default.existsSync(path.resolve(outDir))) {
|
|
51
|
-
fs_1.default.mkdirSync(path.resolve(outDir));
|
|
52
|
-
}
|
|
53
|
-
const data = {
|
|
54
|
-
types: await (0, type_extractor_1.getTypes)(),
|
|
55
|
-
optionSets: await (0, types_1.getOptionSets)(),
|
|
56
|
-
optionSetHierarchies: await (0, types_1.getOptionSetHierarchies)(),
|
|
57
|
-
optionSetHierarchyLinks: await (0, types_1.getOptionSetHierarchyLinks)(),
|
|
58
|
-
ruleSets: await (0, types_1.getRuleSets)(),
|
|
59
|
-
ruleSetLinks: await (0, types_1.getRuleSetLinks)(),
|
|
60
|
-
usageInfo: await (0, types_1.getUsageInfo)(),
|
|
61
|
-
typePropertyPolicies: await (0, types_1.getTypePropertyPolicies)(),
|
|
62
|
-
typePropertyPolicyLinks: await (0, types_1.getTypePropertyPolicyLinks)(),
|
|
63
|
-
typePolicies: await (0, types_1.getTypePolicies)(),
|
|
64
|
-
typePolicyLinks: await (0, types_1.getTypePolicyLinks)(),
|
|
65
|
-
orgUsers: await (0, users_1.getUserOrgs)(),
|
|
66
|
-
groups: await (0, users_1.getGroups)(),
|
|
67
|
-
userList: await (0, types_1.getUserLists)(),
|
|
68
|
-
};
|
|
69
|
-
const reducedData = await (0, types_2.getAllReducedTypes)(data);
|
|
70
|
-
await saveData(reducedData, outDir, overwrite);
|
|
71
|
-
logger_1.default.info(`${chalk_1.default.yellow.bold('TYPES')} Retrieved`);
|
|
72
|
-
}
|
|
73
|
-
catch (e) {
|
|
74
|
-
logger_1.default.info(`${chalk_1.default.red.bold('FAIL')} Types Retrieval Failed. ${e}`);
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
logger_1.default.info(`${chalk_1.default.green.bold('COMPLETE')} Types Retrieval Complete.`);
|
|
78
|
-
}
|
|
79
|
-
exports.getAll = getAll;
|
|
80
|
-
const saveTypesFunction = async (data, dir, overwrite) => {
|
|
81
|
-
const roots = {};
|
|
82
|
-
for (const type of data.reducedTypes) {
|
|
83
|
-
const typePathParts = type.typePath.split(':');
|
|
84
|
-
if (!typePathParts) {
|
|
85
|
-
logger_1.default.warn(`skipping bad type with no path ${type}`);
|
|
86
|
-
}
|
|
87
|
-
const root = typePathParts[0];
|
|
88
|
-
if (roots[root]) {
|
|
89
|
-
roots[root].push(type);
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
roots[root] = [type];
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
for (const [root, types] of Object.entries(roots)) {
|
|
96
|
-
const CURRENT_DIR = process.cwd();
|
|
97
|
-
const subDir = path.join(CURRENT_DIR, dir, 'types');
|
|
98
|
-
if (!fs_1.default.existsSync(subDir)) {
|
|
99
|
-
fs_1.default.mkdirSync(subDir);
|
|
100
|
-
}
|
|
101
|
-
const yamlStr = js_yaml_1.default.dump(types);
|
|
102
|
-
const fileLabel = root;
|
|
103
|
-
if (!fileLabel) {
|
|
104
|
-
logger_1.default.warn(`skipping bad type root: ${root}`);
|
|
105
|
-
}
|
|
106
|
-
const pathToWrite = path.join(subDir, `${(0, common_1.removeSlash)(fileLabel)}.yml`);
|
|
107
|
-
if (fs_1.default.existsSync(pathToWrite)) {
|
|
108
|
-
await (0, file_helpers_1.safeFileOverwrite)(pathToWrite, overwrite);
|
|
109
|
-
}
|
|
110
|
-
fs_1.default.writeFileSync(pathToWrite, yamlStr, 'utf8');
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
|
-
async function saveData(reducedData, dir, overwrite) {
|
|
114
|
-
const propertyToFolderMap = {
|
|
115
|
-
reducedTypes: {
|
|
116
|
-
filename: 'types',
|
|
117
|
-
split: false,
|
|
118
|
-
fileLabel: 'slug',
|
|
119
|
-
saveFunction: saveTypesFunction,
|
|
120
|
-
},
|
|
121
|
-
reducedOptionSets: { filename: 'option-sets', split: true, fileLabel: 'name' },
|
|
122
|
-
reducedOptionSetHierarchies: {
|
|
123
|
-
filename: 'option-set-hierarchies',
|
|
124
|
-
split: true,
|
|
125
|
-
fileLabel: 'identifier',
|
|
126
|
-
},
|
|
127
|
-
reducedOptionSetHierarchyLinks: {
|
|
128
|
-
filename: 'type-option-set-hierarchy-links',
|
|
129
|
-
split: false,
|
|
130
|
-
fileLabel: '',
|
|
131
|
-
},
|
|
132
|
-
reducedRuleSets: { filename: 'rule-sets', split: true, fileLabel: 'name' },
|
|
133
|
-
reducedRuleSetLinks: { filename: 'rule-set-links', split: false, fileLabel: '' },
|
|
134
|
-
reducedUsageInfo: { filename: 'usage-info', split: false, fileLabel: '' },
|
|
135
|
-
reducedTypePropertyPolicies: {
|
|
136
|
-
filename: 'type-property-policies',
|
|
137
|
-
split: true,
|
|
138
|
-
fileLabel: 'label',
|
|
139
|
-
},
|
|
140
|
-
reducedTypePropertyPolicyLinks: {
|
|
141
|
-
filename: 'type-property-policy-links',
|
|
142
|
-
split: false,
|
|
143
|
-
fileLabel: '',
|
|
144
|
-
},
|
|
145
|
-
reducedTypePolicies: { filename: 'type-policies', split: true, fileLabel: 'label' },
|
|
146
|
-
reducedTypePolicyLinks: { filename: 'type-policy-links', split: false, fileLabel: '' },
|
|
147
|
-
};
|
|
148
|
-
for (const [key, folder] of Object.entries(propertyToFolderMap)) {
|
|
149
|
-
const CURRENT_DIR = process.cwd();
|
|
150
|
-
if (folder['saveFunction']) {
|
|
151
|
-
await folder['saveFunction'](reducedData, dir, overwrite);
|
|
152
|
-
}
|
|
153
|
-
else if (folder.split) {
|
|
154
|
-
const subDir = path.join(CURRENT_DIR, dir, folder.filename);
|
|
155
|
-
if (!fs_1.default.existsSync(subDir)) {
|
|
156
|
-
fs_1.default.mkdirSync(subDir);
|
|
157
|
-
}
|
|
158
|
-
for (const item of reducedData[key]) {
|
|
159
|
-
const yamlStr = js_yaml_1.default.dump(item);
|
|
160
|
-
const fileLabel = item[folder.fileLabel];
|
|
161
|
-
if (!fileLabel) {
|
|
162
|
-
logger_1.default.warn(`skipping bad data: ${item}`);
|
|
163
|
-
continue;
|
|
164
|
-
}
|
|
165
|
-
const pathToWrite = path.join(subDir, `${(0, common_1.removeSlash)(fileLabel)}.yml`);
|
|
166
|
-
if (fs_1.default.existsSync(pathToWrite)) {
|
|
167
|
-
await (0, file_helpers_1.safeFileOverwrite)(pathToWrite, overwrite);
|
|
168
|
-
}
|
|
169
|
-
fs_1.default.writeFileSync(pathToWrite, yamlStr, 'utf8');
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
else {
|
|
173
|
-
const yamlStr = js_yaml_1.default.dump(reducedData[key]);
|
|
174
|
-
const pathToWrite = path.join(CURRENT_DIR, dir, `${folder.filename}.yml`);
|
|
175
|
-
if (fs_1.default.existsSync(pathToWrite)) {
|
|
176
|
-
await (0, file_helpers_1.safeFileOverwrite)(pathToWrite, overwrite);
|
|
177
|
-
}
|
|
178
|
-
fs_1.default.writeFileSync(pathToWrite, yamlStr, 'utf8');
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
23
|
+
`,
|
|
24
|
+
];
|
|
25
|
+
static flags = {
|
|
26
|
+
...basecommand_1.BaseCommand.baseFlags,
|
|
27
|
+
outDir: core_1.Flags.string({
|
|
28
|
+
char: 'd',
|
|
29
|
+
description: 'The directory to which to export the type data. Defaults to the current directory',
|
|
30
|
+
required: false,
|
|
31
|
+
default: '.',
|
|
32
|
+
}),
|
|
33
|
+
overwrite: core_1.Flags.boolean({
|
|
34
|
+
char: 'f',
|
|
35
|
+
description: 'Replaces any existing export files in outDir',
|
|
36
|
+
required: false,
|
|
37
|
+
default: false,
|
|
38
|
+
}),
|
|
39
|
+
};
|
|
40
|
+
async run() {
|
|
41
|
+
await getAll(this.flags.outDir, this.flags.overwrite);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.default = GetAllTypes;
|
|
45
|
+
async function getAll(outDir, overwrite) {
|
|
46
|
+
try {
|
|
47
|
+
const userConfig = await (0, login_1.authUser)();
|
|
48
|
+
logger_1.default.info(`${chalk_1.default.blue.bold('START')} Getting all types for org ${userConfig.orgSlug}`);
|
|
49
|
+
// make directory to house exports
|
|
50
|
+
if (!fs_1.default.existsSync(path.resolve(outDir))) {
|
|
51
|
+
fs_1.default.mkdirSync(path.resolve(outDir));
|
|
52
|
+
}
|
|
53
|
+
const data = {
|
|
54
|
+
types: await (0, type_extractor_1.getTypes)(),
|
|
55
|
+
optionSets: await (0, types_1.getOptionSets)(),
|
|
56
|
+
optionSetHierarchies: await (0, types_1.getOptionSetHierarchies)(),
|
|
57
|
+
optionSetHierarchyLinks: await (0, types_1.getOptionSetHierarchyLinks)(),
|
|
58
|
+
ruleSets: await (0, types_1.getRuleSets)(),
|
|
59
|
+
ruleSetLinks: await (0, types_1.getRuleSetLinks)(),
|
|
60
|
+
usageInfo: await (0, types_1.getUsageInfo)(),
|
|
61
|
+
typePropertyPolicies: await (0, types_1.getTypePropertyPolicies)(),
|
|
62
|
+
typePropertyPolicyLinks: await (0, types_1.getTypePropertyPolicyLinks)(),
|
|
63
|
+
typePolicies: await (0, types_1.getTypePolicies)(),
|
|
64
|
+
typePolicyLinks: await (0, types_1.getTypePolicyLinks)(),
|
|
65
|
+
orgUsers: await (0, users_1.getUserOrgs)(),
|
|
66
|
+
groups: await (0, users_1.getGroups)(),
|
|
67
|
+
userList: await (0, types_1.getUserLists)(),
|
|
68
|
+
};
|
|
69
|
+
const reducedData = await (0, types_2.getAllReducedTypes)(data);
|
|
70
|
+
await saveData(reducedData, outDir, overwrite);
|
|
71
|
+
logger_1.default.info(`${chalk_1.default.yellow.bold('TYPES')} Retrieved`);
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
logger_1.default.info(`${chalk_1.default.red.bold('FAIL')} Types Retrieval Failed. ${e}`);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
logger_1.default.info(`${chalk_1.default.green.bold('COMPLETE')} Types Retrieval Complete.`);
|
|
78
|
+
}
|
|
79
|
+
exports.getAll = getAll;
|
|
80
|
+
const saveTypesFunction = async (data, dir, overwrite) => {
|
|
81
|
+
const roots = {};
|
|
82
|
+
for (const type of data.reducedTypes) {
|
|
83
|
+
const typePathParts = type.typePath.split(':');
|
|
84
|
+
if (!typePathParts) {
|
|
85
|
+
logger_1.default.warn(`skipping bad type with no path ${type}`);
|
|
86
|
+
}
|
|
87
|
+
const root = typePathParts[0];
|
|
88
|
+
if (roots[root]) {
|
|
89
|
+
roots[root].push(type);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
roots[root] = [type];
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
for (const [root, types] of Object.entries(roots)) {
|
|
96
|
+
const CURRENT_DIR = process.cwd();
|
|
97
|
+
const subDir = path.join(CURRENT_DIR, dir, 'types');
|
|
98
|
+
if (!fs_1.default.existsSync(subDir)) {
|
|
99
|
+
fs_1.default.mkdirSync(subDir);
|
|
100
|
+
}
|
|
101
|
+
const yamlStr = js_yaml_1.default.dump(types);
|
|
102
|
+
const fileLabel = root;
|
|
103
|
+
if (!fileLabel) {
|
|
104
|
+
logger_1.default.warn(`skipping bad type root: ${root}`);
|
|
105
|
+
}
|
|
106
|
+
const pathToWrite = path.join(subDir, `${(0, common_1.removeSlash)(fileLabel)}.yml`);
|
|
107
|
+
if (fs_1.default.existsSync(pathToWrite)) {
|
|
108
|
+
await (0, file_helpers_1.safeFileOverwrite)(pathToWrite, overwrite);
|
|
109
|
+
}
|
|
110
|
+
fs_1.default.writeFileSync(pathToWrite, yamlStr, 'utf8');
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
async function saveData(reducedData, dir, overwrite) {
|
|
114
|
+
const propertyToFolderMap = {
|
|
115
|
+
reducedTypes: {
|
|
116
|
+
filename: 'types',
|
|
117
|
+
split: false,
|
|
118
|
+
fileLabel: 'slug',
|
|
119
|
+
saveFunction: saveTypesFunction,
|
|
120
|
+
},
|
|
121
|
+
reducedOptionSets: { filename: 'option-sets', split: true, fileLabel: 'name' },
|
|
122
|
+
reducedOptionSetHierarchies: {
|
|
123
|
+
filename: 'option-set-hierarchies',
|
|
124
|
+
split: true,
|
|
125
|
+
fileLabel: 'identifier',
|
|
126
|
+
},
|
|
127
|
+
reducedOptionSetHierarchyLinks: {
|
|
128
|
+
filename: 'type-option-set-hierarchy-links',
|
|
129
|
+
split: false,
|
|
130
|
+
fileLabel: '',
|
|
131
|
+
},
|
|
132
|
+
reducedRuleSets: { filename: 'rule-sets', split: true, fileLabel: 'name' },
|
|
133
|
+
reducedRuleSetLinks: { filename: 'rule-set-links', split: false, fileLabel: '' },
|
|
134
|
+
reducedUsageInfo: { filename: 'usage-info', split: false, fileLabel: '' },
|
|
135
|
+
reducedTypePropertyPolicies: {
|
|
136
|
+
filename: 'type-property-policies',
|
|
137
|
+
split: true,
|
|
138
|
+
fileLabel: 'label',
|
|
139
|
+
},
|
|
140
|
+
reducedTypePropertyPolicyLinks: {
|
|
141
|
+
filename: 'type-property-policy-links',
|
|
142
|
+
split: false,
|
|
143
|
+
fileLabel: '',
|
|
144
|
+
},
|
|
145
|
+
reducedTypePolicies: { filename: 'type-policies', split: true, fileLabel: 'label' },
|
|
146
|
+
reducedTypePolicyLinks: { filename: 'type-policy-links', split: false, fileLabel: '' },
|
|
147
|
+
};
|
|
148
|
+
for (const [key, folder] of Object.entries(propertyToFolderMap)) {
|
|
149
|
+
const CURRENT_DIR = process.cwd();
|
|
150
|
+
if (folder['saveFunction']) {
|
|
151
|
+
await folder['saveFunction'](reducedData, dir, overwrite);
|
|
152
|
+
}
|
|
153
|
+
else if (folder.split) {
|
|
154
|
+
const subDir = path.join(CURRENT_DIR, dir, folder.filename);
|
|
155
|
+
if (!fs_1.default.existsSync(subDir)) {
|
|
156
|
+
fs_1.default.mkdirSync(subDir);
|
|
157
|
+
}
|
|
158
|
+
for (const item of reducedData[key]) {
|
|
159
|
+
const yamlStr = js_yaml_1.default.dump(item);
|
|
160
|
+
const fileLabel = item[folder.fileLabel];
|
|
161
|
+
if (!fileLabel) {
|
|
162
|
+
logger_1.default.warn(`skipping bad data: ${item}`);
|
|
163
|
+
continue;
|
|
164
|
+
}
|
|
165
|
+
const pathToWrite = path.join(subDir, `${(0, common_1.removeSlash)(fileLabel)}.yml`);
|
|
166
|
+
if (fs_1.default.existsSync(pathToWrite)) {
|
|
167
|
+
await (0, file_helpers_1.safeFileOverwrite)(pathToWrite, overwrite);
|
|
168
|
+
}
|
|
169
|
+
fs_1.default.writeFileSync(pathToWrite, yamlStr, 'utf8');
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
const yamlStr = js_yaml_1.default.dump(reducedData[key]);
|
|
174
|
+
const pathToWrite = path.join(CURRENT_DIR, dir, `${folder.filename}.yml`);
|
|
175
|
+
if (fs_1.default.existsSync(pathToWrite)) {
|
|
176
|
+
await (0, file_helpers_1.safeFileOverwrite)(pathToWrite, overwrite);
|
|
177
|
+
}
|
|
178
|
+
fs_1.default.writeFileSync(pathToWrite, yamlStr, 'utf8');
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { BaseCommand } from '../../basecommand';
|
|
2
|
-
import { DataHolder, ReducedDataHolder } from '@contrail/org-config-migration/lib/interfaces';
|
|
3
|
-
export default class GetOptionSets extends BaseCommand {
|
|
4
|
-
static description: string;
|
|
5
|
-
static examples: string[];
|
|
6
|
-
static flags: {
|
|
7
|
-
format: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
8
|
-
outDir: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
9
|
-
overwrite: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
-
alwaysConfirmEnv: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
11
|
-
logLevel: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
12
|
-
};
|
|
13
|
-
run(): Promise<void>;
|
|
14
|
-
}
|
|
15
|
-
export declare function getAllOptionSets(outDir: string, overwrite: boolean, format: string): Promise<void>;
|
|
16
|
-
export declare function reduceData(data: DataHolder): Promise<ReducedDataHolder>;
|
|
1
|
+
import { BaseCommand } from '../../basecommand';
|
|
2
|
+
import { DataHolder, ReducedDataHolder } from '@contrail/org-config-migration/lib/interfaces';
|
|
3
|
+
export default class GetOptionSets extends BaseCommand {
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
format: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
8
|
+
outDir: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
9
|
+
overwrite: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
alwaysConfirmEnv: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
11
|
+
logLevel: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export declare function getAllOptionSets(outDir: string, overwrite: boolean, format: string): Promise<void>;
|
|
16
|
+
export declare function reduceData(data: DataHolder): Promise<ReducedDataHolder>;
|