@contrail/cli 3.4.2 → 3.4.4-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 +38 -1
- 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/load-local/index.d.ts +17 -0
- package/dist/commands/load-local/index.js +156 -0
- 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 -116
- 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 +15 -12
- package/dist/commands/types/uploadUsageInfo.js +179 -172
- package/dist/commands/types/uploadUsageInfo.spec.d.ts +1 -0
- package/dist/commands/types/uploadUsageInfo.spec.js +249 -0
- 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 -95
- 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/pipeline/formatters.d.ts +6 -0
- package/dist/helpers/pipeline/formatters.js +219 -0
- 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 -9
- package/dist/helpers/types/option-set-helper.js +48 -48
- package/dist/helpers/types/option-set-helper.spec.d.ts +1 -1
- package/dist/helpers/types/option-set-helper.spec.js +64 -64
- 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 +470 -445
- package/dist/interfaces.js +163 -163
- package/dist/logger.d.ts +3 -3
- package/dist/logger.js +33 -33
- package/oclif.manifest.json +85 -1
- package/package.json +11 -6
|
@@ -0,0 +1,156 @@
|
|
|
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 sdk_1 = require("@contrail/sdk");
|
|
6
|
+
const loader_1 = require("@contrail/loader");
|
|
7
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
8
|
+
const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
|
|
9
|
+
const login_1 = require("../../auth/login");
|
|
10
|
+
const basecommand_1 = require("../../basecommand");
|
|
11
|
+
const helpers_1 = require("../../helpers/load/helpers");
|
|
12
|
+
const file_helpers_1 = require("../../helpers/file-helpers");
|
|
13
|
+
const logger_1 = tslib_1.__importDefault(require("../../logger"));
|
|
14
|
+
const formatters_1 = require("../../helpers/pipeline/formatters");
|
|
15
|
+
const fs = tslib_1.__importStar(require("fs"));
|
|
16
|
+
const path = tslib_1.__importStar(require("path"));
|
|
17
|
+
class LoadLocal extends basecommand_1.BaseCommand {
|
|
18
|
+
static description = 'Run the full data loading pipeline locally. Reads a CSV data file and a YAML/JSON config, then runs preprocess → analyze → validate → preview → execute stages with detailed feedback.';
|
|
19
|
+
static examples = [
|
|
20
|
+
'$ contrail load-local data.csv config.yml',
|
|
21
|
+
'$ contrail load-local data.csv config.yml --dry-run',
|
|
22
|
+
'$ contrail load-local data.csv config.yml --yes',
|
|
23
|
+
'$ contrail load-local data.csv config.yml --stage 3',
|
|
24
|
+
];
|
|
25
|
+
static flags = {
|
|
26
|
+
...basecommand_1.BaseCommand.baseFlags,
|
|
27
|
+
yes: core_1.Flags.boolean({
|
|
28
|
+
char: 'y',
|
|
29
|
+
description: 'Skip confirmation prompt before executing',
|
|
30
|
+
default: false,
|
|
31
|
+
}),
|
|
32
|
+
'dry-run': core_1.Flags.boolean({
|
|
33
|
+
char: 'd',
|
|
34
|
+
description: 'Run stages 1-4 only (no execution)',
|
|
35
|
+
default: false,
|
|
36
|
+
}),
|
|
37
|
+
stage: core_1.Flags.integer({
|
|
38
|
+
char: 's',
|
|
39
|
+
description: 'Run only up to this stage (1-5)',
|
|
40
|
+
options: ['1', '2', '3', '4', '5'],
|
|
41
|
+
}),
|
|
42
|
+
};
|
|
43
|
+
static args = {
|
|
44
|
+
dataFile: core_1.Args.string({
|
|
45
|
+
description: 'Path to the CSV data file',
|
|
46
|
+
required: true,
|
|
47
|
+
}),
|
|
48
|
+
configFile: core_1.Args.string({
|
|
49
|
+
description: 'Path to the YAML or JSON configuration file',
|
|
50
|
+
required: true,
|
|
51
|
+
}),
|
|
52
|
+
};
|
|
53
|
+
async run() {
|
|
54
|
+
const maxStage = this.flags['dry-run'] ? 4 : this.flags.stage || 5;
|
|
55
|
+
// Read and parse files
|
|
56
|
+
let csvData;
|
|
57
|
+
let config;
|
|
58
|
+
try {
|
|
59
|
+
const csvPath = path.resolve(process.cwd(), this.args.dataFile);
|
|
60
|
+
const csvRaw = fs.readFileSync(csvPath, 'utf8');
|
|
61
|
+
csvData = (0, file_helpers_1.parseCSVData)(csvRaw);
|
|
62
|
+
logger_1.default.info(`${chalk_1.default.yellow.bold('LOAD-LOCAL')} Parsed ${csvData.length} rows from ${this.args.dataFile}`);
|
|
63
|
+
const ext = this.args.configFile.toLowerCase();
|
|
64
|
+
const fileExt = ext.endsWith('.yml') || ext.endsWith('.yaml')
|
|
65
|
+
? helpers_1.FileExtension.YAML
|
|
66
|
+
: helpers_1.FileExtension.JSON;
|
|
67
|
+
config = (0, helpers_1.readFile)(this.args.configFile, fileExt);
|
|
68
|
+
logger_1.default.info(`${chalk_1.default.yellow.bold('LOAD-LOCAL')} Loaded config from ${this.args.configFile}`);
|
|
69
|
+
}
|
|
70
|
+
catch (e) {
|
|
71
|
+
logger_1.default.info(`${chalk_1.default.red.bold('FAIL')} Failed to read input files. ${e}`);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
// Authenticate and create pipeline
|
|
75
|
+
await (0, login_1.authUser)();
|
|
76
|
+
const pipeline = new loader_1.LoaderPipeline(new sdk_1.Entities());
|
|
77
|
+
try {
|
|
78
|
+
// Fetch type definitions (needed by both preprocessing and column analysis)
|
|
79
|
+
logger_1.default.info(`\n${chalk_1.default.yellow.bold('LOAD-LOCAL')} Fetching type definitions...`);
|
|
80
|
+
const typeDefs = await pipeline.fetchTypeDefinitions(csvData, config);
|
|
81
|
+
// Stage 1: Preprocess
|
|
82
|
+
logger_1.default.info(`\n${chalk_1.default.yellow.bold('LOAD-LOCAL')} Running Stage 1: Preprocess...`);
|
|
83
|
+
const preprocessed = await pipeline.preprocess(csvData, config, typeDefs);
|
|
84
|
+
console.log('\n' + (0, formatters_1.formatPreprocessResult)(preprocessed));
|
|
85
|
+
if (maxStage <= 1)
|
|
86
|
+
return;
|
|
87
|
+
// Stage 2: Analyze Columns
|
|
88
|
+
logger_1.default.info(`\n${chalk_1.default.yellow.bold('LOAD-LOCAL')} Running Stage 2: Analyze Columns...`);
|
|
89
|
+
const analysis = pipeline.analyzeColumns(preprocessed, config, typeDefs);
|
|
90
|
+
console.log('\n' + (0, formatters_1.formatColumnAnalysis)(analysis));
|
|
91
|
+
if (maxStage <= 2)
|
|
92
|
+
return;
|
|
93
|
+
// Stage 3: Validate
|
|
94
|
+
logger_1.default.info(`\n${chalk_1.default.yellow.bold('LOAD-LOCAL')} Running Stage 3: Validate...`);
|
|
95
|
+
const validation = await pipeline.validate(preprocessed, config, analysis);
|
|
96
|
+
console.log('\n' + (0, formatters_1.formatValidationResult)(validation));
|
|
97
|
+
if (!validation.valid) {
|
|
98
|
+
logger_1.default.info(`\n${chalk_1.default.red.bold('LOAD-LOCAL')} Validation failed. Fix the issues above before proceeding.`);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
if (maxStage <= 3)
|
|
102
|
+
return;
|
|
103
|
+
// Stage 4: Preview
|
|
104
|
+
logger_1.default.info(`\n${chalk_1.default.yellow.bold('LOAD-LOCAL')} Running Stage 4: Preview...`);
|
|
105
|
+
const previewResult = await pipeline.preview(preprocessed, config, analysis);
|
|
106
|
+
console.log('\n' + (0, formatters_1.formatPreviewResult)(previewResult));
|
|
107
|
+
if (maxStage <= 4)
|
|
108
|
+
return;
|
|
109
|
+
// Confirm before execute
|
|
110
|
+
if (!this.flags.yes) {
|
|
111
|
+
const noChangesDetected = previewResult.entities.every((e) => e.creates === 0 && e.updates === 0 && e.drops === 0);
|
|
112
|
+
const { confirm } = await inquirer_1.default.prompt([
|
|
113
|
+
{
|
|
114
|
+
type: 'confirm',
|
|
115
|
+
name: 'confirm',
|
|
116
|
+
message: noChangesDetected
|
|
117
|
+
? 'Proceed with the execution step anyway? This will try to detect updates again and persist any detected changes.'
|
|
118
|
+
: 'Proceed with execution?',
|
|
119
|
+
default: false,
|
|
120
|
+
},
|
|
121
|
+
]);
|
|
122
|
+
if (!confirm) {
|
|
123
|
+
logger_1.default.info(`${chalk_1.default.yellow.bold('LOAD-LOCAL')} Execution cancelled.`);
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
// Stage 5: Execute
|
|
128
|
+
logger_1.default.info(`\n${chalk_1.default.yellow.bold('LOAD-LOCAL')} Running Stage 5: Execute...`);
|
|
129
|
+
const executeOptions = {
|
|
130
|
+
batchSize: config.options?.batchSize,
|
|
131
|
+
concurrency: config.options?.concurrency,
|
|
132
|
+
maxRetries: config.options?.maxRetries,
|
|
133
|
+
onProgress: (progress) => {
|
|
134
|
+
process.stdout.write(`\r ${chalk_1.default.dim(progress.stage)}: ${progress.current}/${progress.total}`);
|
|
135
|
+
},
|
|
136
|
+
};
|
|
137
|
+
const executionResult = await pipeline.execute(preprocessed, config, analysis, executeOptions, previewResult);
|
|
138
|
+
// Clear progress line
|
|
139
|
+
process.stdout.write('\r' + ' '.repeat(60) + '\r');
|
|
140
|
+
console.log('\n' + (0, formatters_1.formatExecutionResult)(executionResult));
|
|
141
|
+
if (executionResult.status === 'complete') {
|
|
142
|
+
logger_1.default.info(`\n${chalk_1.default.green.bold('COMPLETE')} Load finished successfully.`);
|
|
143
|
+
}
|
|
144
|
+
else if (executionResult.status === 'partial-failure') {
|
|
145
|
+
logger_1.default.info(`\n${chalk_1.default.yellow.bold('PARTIAL')} Load completed with some failures.`);
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
logger_1.default.info(`\n${chalk_1.default.red.bold('FAILED')} Load failed.`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
catch (e) {
|
|
152
|
+
logger_1.default.info(`\n${chalk_1.default.red.bold('FAIL')} Pipeline error: ${e}`);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
exports.default = LoadLocal;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { BaseCommand } from '../../basecommand';
|
|
2
|
-
export default class ExportProjects 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
|
-
projectName: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
|
|
11
|
-
};
|
|
12
|
-
run(): Promise<void>;
|
|
13
|
-
}
|
|
1
|
+
import { BaseCommand } from '../../basecommand';
|
|
2
|
+
export default class ExportProjects 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
|
+
projectName: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
@@ -1,36 +1,36 @@
|
|
|
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 helpers_1 = require("../../helpers/projects/helpers");
|
|
8
|
-
const basecommand_1 = require("../../basecommand");
|
|
9
|
-
class ExportProjects extends basecommand_1.BaseCommand {
|
|
10
|
-
static description = 'Export a project.';
|
|
11
|
-
static examples = [
|
|
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 helpers_1 = require("../../helpers/projects/helpers");
|
|
8
|
+
const basecommand_1 = require("../../basecommand");
|
|
9
|
+
class ExportProjects extends basecommand_1.BaseCommand {
|
|
10
|
+
static description = 'Export a project.';
|
|
11
|
+
static examples = [
|
|
12
12
|
`$ contrail project export <PROJECT_NAME>
|
|
13
|
-
`,
|
|
14
|
-
];
|
|
15
|
-
static flags = {
|
|
16
|
-
...basecommand_1.BaseCommand.baseFlags,
|
|
17
|
-
};
|
|
18
|
-
static args = {
|
|
19
|
-
projectName: core_1.Args.string({ description: '', required: true }),
|
|
20
|
-
};
|
|
21
|
-
async run() {
|
|
22
|
-
try {
|
|
23
|
-
await (0, login_1.authUser)();
|
|
24
|
-
this.log(`${chalk_1.default.blue.bold('START')} Exporting Project.`);
|
|
25
|
-
this.log(`${chalk_1.default.yellow.bold('PROJECT')} Exporting`);
|
|
26
|
-
await (0, helpers_1.exportProject)(this.args.projectName);
|
|
27
|
-
this.log(`${chalk_1.default.yellow.bold('PROJECT')} Exported`);
|
|
28
|
-
}
|
|
29
|
-
catch (e) {
|
|
30
|
-
this.log(`${chalk_1.default.red.bold('FAIL')} Project Export Failed. ${e}`);
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
this.log(`${chalk_1.default.green.bold('COMPLETE')} Project Export Complete.`);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
exports.default = ExportProjects;
|
|
13
|
+
`,
|
|
14
|
+
];
|
|
15
|
+
static flags = {
|
|
16
|
+
...basecommand_1.BaseCommand.baseFlags,
|
|
17
|
+
};
|
|
18
|
+
static args = {
|
|
19
|
+
projectName: core_1.Args.string({ description: '', required: true }),
|
|
20
|
+
};
|
|
21
|
+
async run() {
|
|
22
|
+
try {
|
|
23
|
+
await (0, login_1.authUser)();
|
|
24
|
+
this.log(`${chalk_1.default.blue.bold('START')} Exporting Project.`);
|
|
25
|
+
this.log(`${chalk_1.default.yellow.bold('PROJECT')} Exporting`);
|
|
26
|
+
await (0, helpers_1.exportProject)(this.args.projectName);
|
|
27
|
+
this.log(`${chalk_1.default.yellow.bold('PROJECT')} Exported`);
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
this.log(`${chalk_1.default.red.bold('FAIL')} Project Export Failed. ${e}`);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
this.log(`${chalk_1.default.green.bold('COMPLETE')} Project Export Complete.`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.default = ExportProjects;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { BaseCommand } from '../../basecommand';
|
|
2
|
-
export default class ListProjects 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
|
-
run(): Promise<void>;
|
|
10
|
-
}
|
|
1
|
+
import { BaseCommand } from '../../basecommand';
|
|
2
|
+
export default class ListProjects 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
|
+
run(): Promise<void>;
|
|
10
|
+
}
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
const sdk_1 = require("@contrail/sdk");
|
|
5
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
-
const login_1 = require("../../auth/login");
|
|
7
|
-
const basecommand_1 = require("../../basecommand");
|
|
8
|
-
class ListProjects extends basecommand_1.BaseCommand {
|
|
9
|
-
static description = 'Get a list of all projects.';
|
|
10
|
-
static examples = [
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const sdk_1 = require("@contrail/sdk");
|
|
5
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
+
const login_1 = require("../../auth/login");
|
|
7
|
+
const basecommand_1 = require("../../basecommand");
|
|
8
|
+
class ListProjects extends basecommand_1.BaseCommand {
|
|
9
|
+
static description = 'Get a list of all projects.';
|
|
10
|
+
static examples = [
|
|
11
11
|
`$ contrail project list
|
|
12
|
-
`,
|
|
13
|
-
];
|
|
14
|
-
static flags = {
|
|
15
|
-
...basecommand_1.BaseCommand.baseFlags,
|
|
16
|
-
};
|
|
17
|
-
async run() {
|
|
18
|
-
try {
|
|
19
|
-
await (0, login_1.authUser)();
|
|
20
|
-
this.log(`${chalk_1.default.blue.bold('START')} Getting Projects.`);
|
|
21
|
-
const allWorkspaces = await new sdk_1.Entities().get({
|
|
22
|
-
entityName: 'workspace',
|
|
23
|
-
criteria: { isArchived: false },
|
|
24
|
-
});
|
|
25
|
-
this.log(`${chalk_1.default.green.bold('PROJECTS:')}`);
|
|
26
|
-
//this.log(allWorkspaces.map(w => Object.assign({}, {name: w.name, id: w.id}))); // if we want ids
|
|
27
|
-
this.log(allWorkspaces.map((w) => w.name));
|
|
28
|
-
this.log(`${chalk_1.default.yellow.bold('PROJECTS')} Done`);
|
|
29
|
-
}
|
|
30
|
-
catch (e) {
|
|
31
|
-
this.log(`${chalk_1.default.red.bold('FAIL')} Project download Failed. ${e}`);
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
this.log(`${chalk_1.default.green.bold('COMPLETE')} Project download Complete.`);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
exports.default = ListProjects;
|
|
12
|
+
`,
|
|
13
|
+
];
|
|
14
|
+
static flags = {
|
|
15
|
+
...basecommand_1.BaseCommand.baseFlags,
|
|
16
|
+
};
|
|
17
|
+
async run() {
|
|
18
|
+
try {
|
|
19
|
+
await (0, login_1.authUser)();
|
|
20
|
+
this.log(`${chalk_1.default.blue.bold('START')} Getting Projects.`);
|
|
21
|
+
const allWorkspaces = await new sdk_1.Entities().get({
|
|
22
|
+
entityName: 'workspace',
|
|
23
|
+
criteria: { isArchived: false },
|
|
24
|
+
});
|
|
25
|
+
this.log(`${chalk_1.default.green.bold('PROJECTS:')}`);
|
|
26
|
+
//this.log(allWorkspaces.map(w => Object.assign({}, {name: w.name, id: w.id}))); // if we want ids
|
|
27
|
+
this.log(allWorkspaces.map((w) => w.name));
|
|
28
|
+
this.log(`${chalk_1.default.yellow.bold('PROJECTS')} Done`);
|
|
29
|
+
}
|
|
30
|
+
catch (e) {
|
|
31
|
+
this.log(`${chalk_1.default.red.bold('FAIL')} Project download Failed. ${e}`);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
this.log(`${chalk_1.default.green.bold('COMPLETE')} Project download Complete.`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.default = ListProjects;
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { BaseCommand } from '../../basecommand';
|
|
2
|
-
export default class LoadProject 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
|
-
templateFileLocation: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
|
|
11
|
-
};
|
|
12
|
-
run(): Promise<void>;
|
|
13
|
-
}
|
|
14
|
-
interface CheckerFunction {
|
|
15
|
-
(key: string, value: any): boolean;
|
|
16
|
-
}
|
|
17
|
-
interface ApplyFunction {
|
|
18
|
-
(key: string, value: any): Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
export interface Transformer {
|
|
21
|
-
checker: CheckerFunction;
|
|
22
|
-
recursive: boolean;
|
|
23
|
-
apply: ApplyFunction;
|
|
24
|
-
}
|
|
25
|
-
export {};
|
|
1
|
+
import { BaseCommand } from '../../basecommand';
|
|
2
|
+
export default class LoadProject 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
|
+
templateFileLocation: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
interface CheckerFunction {
|
|
15
|
+
(key: string, value: any): boolean;
|
|
16
|
+
}
|
|
17
|
+
interface ApplyFunction {
|
|
18
|
+
(key: string, value: any): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
export interface Transformer {
|
|
21
|
+
checker: CheckerFunction;
|
|
22
|
+
recursive: boolean;
|
|
23
|
+
apply: ApplyFunction;
|
|
24
|
+
}
|
|
25
|
+
export {};
|