@contrail/cli 1.0.71 → 2.0.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/LICENSE +21 -0
- package/README.md +1034 -5
- package/bin/dev +17 -0
- package/bin/dev.cmd +3 -0
- package/bin/run +5 -0
- package/bin/run.cmd +3 -0
- package/{lib → dist}/api/apps.d.ts +13 -13
- package/dist/api/apps.js +96 -0
- package/{lib → dist}/api/event-workflow-action-definition.d.ts +1 -1
- package/dist/api/event-workflow-action-definition.js +11 -0
- package/{lib → dist}/api/event-workflow-template-definition.d.ts +6 -6
- package/dist/api/event-workflow-template-definition.js +26 -0
- package/{lib → dist}/api/event-workflow-templates.d.ts +7 -7
- package/dist/api/event-workflow-templates.js +32 -0
- package/dist/api/types.d.ts +7 -0
- package/dist/api/types.js +52 -0
- package/{lib → dist}/auth/auth.d.ts +9 -9
- package/dist/auth/auth.js +6 -0
- package/{lib → dist}/auth/login.d.ts +2 -2
- package/{lib → dist}/auth/login.js +146 -141
- package/dist/commands/app/create.d.ts +6 -0
- package/dist/commands/app/create.js +15 -0
- package/dist/commands/app/delete.d.ts +7 -0
- package/dist/commands/app/delete.js +38 -0
- package/dist/commands/app/install.d.ts +11 -0
- package/dist/commands/app/install.js +117 -0
- package/dist/commands/app/publish.d.ts +7 -0
- package/dist/commands/app/publish.js +45 -0
- package/dist/commands/app/uninstall.d.ts +10 -0
- package/dist/commands/app/uninstall.js +58 -0
- package/dist/commands/app/upgrade.d.ts +11 -0
- package/dist/commands/app/upgrade.js +79 -0
- package/dist/commands/colors/deleteAll.d.ts +6 -0
- package/dist/commands/colors/deleteAll.js +30 -0
- package/dist/commands/colors/load.d.ts +6 -0
- package/dist/commands/colors/load.js +29 -0
- package/dist/commands/config/list.d.ts +6 -0
- package/dist/commands/config/list.js +15 -0
- package/dist/commands/config/remove.d.ts +14 -0
- package/dist/commands/config/remove.js +26 -0
- package/dist/commands/config/set.d.ts +13 -0
- package/dist/commands/config/set.js +29 -0
- package/dist/commands/loader-process/load.d.ts +9 -0
- package/dist/commands/loader-process/load.js +33 -0
- package/dist/commands/loader-process/upload-and-load.d.ts +10 -0
- package/dist/commands/loader-process/upload-and-load.js +35 -0
- package/dist/commands/projects/export.d.ts +10 -0
- package/dist/commands/projects/export.js +34 -0
- package/dist/commands/projects/list.d.ts +6 -0
- package/dist/commands/projects/list.js +34 -0
- package/dist/commands/projects/load.d.ts +9 -0
- package/{lib/projects/project-uploader.js → dist/commands/projects/load.js} +106 -105
- package/dist/commands/types/exportOptionSetHierarchies.d.ts +7 -0
- package/{lib/types/option-set-hierarchy-exporter.js → dist/commands/types/exportOptionSetHierarchies.js} +130 -113
- package/{lib/types/types-extractor.d.ts → dist/commands/types/getAll.d.ts} +29 -27
- package/{lib/types/types-extractor.js → dist/commands/types/getAll.js} +267 -318
- package/dist/commands/types/loadAll.d.ts +7 -0
- package/dist/commands/types/loadAll.js +41 -0
- package/dist/commands/types/mergeOptionSets.d.ts +9 -0
- package/{lib/types/option-set-merger.js → dist/commands/types/mergeOptionSets.js} +114 -105
- package/dist/commands/types/mergeTypeProperties.d.ts +11 -0
- package/dist/commands/types/mergeTypeProperties.js +89 -0
- package/dist/commands/types/parseOptionSetsHierarchyLocalFile.d.ts +10 -0
- package/dist/commands/types/parseOptionSetsHierarchyLocalFile.js +112 -0
- package/dist/commands/types/parseOptionSetsLocalFiles.d.ts +14 -0
- package/dist/commands/types/parseOptionSetsLocalFiles.js +153 -0
- package/dist/commands/types/parseOptionSetsToFolderStructure.d.ts +10 -0
- package/dist/commands/types/parseOptionSetsToFolderStructure.js +104 -0
- package/dist/commands/types/parseTypesFromFiles.d.ts +10 -0
- package/dist/commands/types/parseTypesFromFiles.js +34 -0
- package/dist/commands/types/parseTypesFromLocalFiles.d.ts +10 -0
- package/dist/commands/types/parseTypesFromLocalFiles.js +34 -0
- package/dist/commands/types/parseTypesFromTemplateAndDataFromLocalFiles.d.ts +11 -0
- package/dist/commands/types/parseTypesFromTemplateAndDataFromLocalFiles.js +36 -0
- package/dist/commands/types/parseTypesFromTemplateFromLocalFiles.d.ts +10 -0
- package/dist/commands/types/parseTypesFromTemplateFromLocalFiles.js +35 -0
- package/dist/commands/types/uploadOptionSetHierarchies.d.ts +7 -0
- package/{lib/types/option-set-hierarchy-uploader.js → dist/commands/types/uploadOptionSetHierarchies.js} +130 -113
- package/dist/commands/types/uploadOptionSets.d.ts +7 -0
- package/{lib/types/option-set-uploader.js → dist/commands/types/uploadOptionSets.js} +115 -98
- package/dist/commands/types/uploadOptionSetsHierarchyLocalFile.d.ts +11 -0
- package/{lib/types/option-set-hierarchy-parser.js → dist/commands/types/uploadOptionSetsHierarchyLocalFile.js} +128 -140
- package/dist/commands/types/uploadRuleSets.d.ts +7 -0
- package/{lib/types/rule-set-uploader.js → dist/commands/types/uploadRuleSets.js} +189 -172
- package/dist/commands/types/uploadTypePropertyPolicies.d.ts +7 -0
- package/{lib/types/type-property-policy-uploader.js → dist/commands/types/uploadTypePropertyPolicies.js} +195 -178
- package/dist/commands/types/uploadUsageInfo.d.ts +7 -0
- package/{lib/types/usage-info-uploader.js → dist/commands/types/uploadUsageInfo.js} +149 -132
- package/dist/commands/users/export.d.ts +9 -0
- package/dist/commands/users/export.js +60 -0
- package/dist/commands/users/upload.d.ts +9 -0
- package/dist/commands/users/upload.js +65 -0
- package/dist/commands/workflow-template-definitions/install.d.ts +6 -0
- package/dist/commands/workflow-template-definitions/install.js +17 -0
- package/dist/commands/workflow-template-definitions/list.d.ts +6 -0
- package/dist/commands/workflow-template-definitions/list.js +17 -0
- package/dist/commands/workflow-templates/delete.d.ts +6 -0
- package/dist/commands/workflow-templates/delete.js +17 -0
- package/dist/commands/workflow-templates/list.d.ts +6 -0
- package/dist/commands/workflow-templates/list.js +17 -0
- package/dist/commands/workflow-templates/load.d.ts +9 -0
- package/dist/commands/workflow-templates/load.js +21 -0
- package/{lib → dist}/common.d.ts +1 -1
- package/dist/common.js +9 -0
- package/{lib/apps/deploy-app → dist/helpers/app}/actions-deployer.d.ts +11 -11
- package/{lib/apps/deploy-app → dist/helpers/app}/actions-deployer.js +122 -114
- package/{lib/apps/deploy-app → dist/helpers/app}/app-deployer.d.ts +8 -8
- package/{lib/apps/deploy-app → dist/helpers/app}/app-deployer.js +98 -93
- package/{lib/apps/deploy-app → dist/helpers/app}/app-template-parsers.d.ts +7 -7
- package/{lib/apps/deploy-app → dist/helpers/app}/app-template-parsers.js +43 -38
- package/dist/helpers/app/load-app-config.d.ts +1 -0
- package/dist/helpers/app/load-app-config.js +18 -0
- package/dist/helpers/app/setup-template.d.ts +1 -0
- package/dist/helpers/app/setup-template.js +38 -0
- package/dist/helpers/colors/helpers.d.ts +4 -0
- package/dist/helpers/colors/helpers.js +74 -0
- package/{lib → dist/helpers}/config/config.d.ts +6 -6
- package/dist/helpers/config/config.js +76 -0
- package/dist/helpers/loader-process/helpers.d.ts +2 -0
- package/{lib/loader-process/loader-process.js → dist/helpers/loader-process/helpers.js} +98 -120
- package/dist/helpers/projects/helpers.d.ts +2 -0
- package/{lib/projects/project-exporter.js → dist/helpers/projects/helpers.js} +165 -187
- package/{lib → dist/helpers}/types/csv-parser.d.ts +1 -1
- package/{lib → dist/helpers}/types/csv-parser.js +56 -51
- package/dist/helpers/types/type-extractor.d.ts +1 -0
- package/dist/helpers/types/type-extractor.js +32 -0
- package/dist/helpers/types/type-parser.d.ts +4 -0
- package/dist/helpers/types/type-parser.js +118 -0
- package/{lib/types/types-uploader.d.ts → dist/helpers/types/type-uploader.d.ts} +1 -1
- package/{lib/types/types-uploader.js → dist/helpers/types/type-uploader.js} +244 -239
- package/{lib → dist/helpers}/workflow-template-definitions/workflow-template-definition-deployer.d.ts +12 -12
- package/{lib → dist/helpers}/workflow-template-definitions/workflow-template-definition-deployer.js +156 -151
- package/{lib/workflow-templates/local-workflow-template-deployer.d.ts → dist/helpers/workflow-templates/helper.d.ts} +17 -11
- package/dist/helpers/workflow-templates/helper.js +166 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +5 -0
- package/{lib → dist}/interfaces.d.ts +323 -191
- package/dist/interfaces.js +63 -0
- package/{templates → dist/templates}/typescript/Dockerfile +15 -15
- package/{templates → dist/templates}/typescript/README.md +10 -10
- package/{templates → dist/templates}/typescript/app.yml +49 -49
- package/{templates → dist/templates}/typescript/docker_deploy.bat +1 -1
- package/{templates → dist/templates}/typescript/package.json +54 -54
- package/{templates → dist/templates}/typescript/src/actions/logItem.ts +25 -25
- package/{templates → dist/templates}/typescript/src/framework/action-dispatcher.ts +89 -89
- package/{templates → dist/templates}/typescript/src/framework/app-config.ts +26 -26
- package/{templates → dist/templates}/typescript/src/framework/handler.ts +11 -11
- package/{templates → dist/templates}/typescript/src/framework/index.ts +2 -2
- package/{templates → dist/templates}/typescript/src/framework/interfaces.ts +32 -32
- package/{templates → dist/templates}/typescript/src/framework/logger.ts +21 -21
- package/{templates → dist/templates}/typescript/src/framework/mock-server.ts +31 -31
- package/{templates → dist/templates}/typescript/tsconfig.json +28 -28
- package/oclif.manifest.json +821 -0
- package/package.json +116 -72
- package/.eslintrc.js +0 -53
- package/.vscode/settings.json +0 -6
- package/bin/init +0 -4
- package/lib/api/apps.js +0 -85
- package/lib/api/event-workflow-action-definition.js +0 -7
- package/lib/api/event-workflow-template-definition.js +0 -20
- package/lib/api/event-workflow-templates.js +0 -25
- package/lib/apps/create-app/create.d.ts +0 -1
- package/lib/apps/create-app/create.js +0 -60
- package/lib/apps/create-app/setup-template.d.ts +0 -1
- package/lib/apps/create-app/setup-template.js +0 -34
- package/lib/apps/deploy-app/deploy.d.ts +0 -2
- package/lib/apps/deploy-app/deploy.js +0 -58
- package/lib/apps/install-app/app-installer.d.ts +0 -2
- package/lib/apps/install-app/app-installer.js +0 -120
- package/lib/apps/upgrade-app/app-upgrader.d.ts +0 -3
- package/lib/apps/upgrade-app/app-upgrader.js +0 -126
- package/lib/auth/auth.js +0 -2
- package/lib/cli.d.ts +0 -5
- package/lib/cli.js +0 -524
- package/lib/colors/color-loader.d.ts +0 -2
- package/lib/colors/color-loader.js +0 -96
- package/lib/common.js +0 -5
- package/lib/config/config.js +0 -70
- package/lib/config/configCommands.d.ts +0 -3
- package/lib/config/configCommands.js +0 -34
- package/lib/interfaces.js +0 -25
- package/lib/loader-process/loader-process.d.ts +0 -2
- package/lib/projects/interfaces.d.ts +0 -77
- package/lib/projects/interfaces.js +0 -23
- package/lib/projects/project-exporter.d.ts +0 -2
- package/lib/projects/project-uploader.d.ts +0 -1
- package/lib/types/allUploader.d.ts +0 -1
- package/lib/types/allUploader.js +0 -24
- package/lib/types/interfaces.d.ts +0 -55
- package/lib/types/interfaces.js +0 -1
- package/lib/types/option-set-hierarchy-exporter.d.ts +0 -1
- package/lib/types/option-set-hierarchy-parser.d.ts +0 -2
- package/lib/types/option-set-hierarchy-uploader.d.ts +0 -1
- package/lib/types/option-set-merger.d.ts +0 -1
- package/lib/types/option-set-parser.d.ts +0 -3
- package/lib/types/option-set-parser.js +0 -140
- package/lib/types/option-set-uploader.d.ts +0 -1
- package/lib/types/parse-types.d.ts +0 -4
- package/lib/types/parse-types.js +0 -189
- package/lib/types/rule-set-uploader.d.ts +0 -1
- package/lib/types/type-property-policy-uploader.d.ts +0 -1
- package/lib/types/types-properties-merger.d.ts +0 -1
- package/lib/types/types-properties-merger.js +0 -75
- package/lib/types/usage-info-uploader.d.ts +0 -1
- package/lib/users/user-exporter.d.ts +0 -1
- package/lib/users/user-exporter.js +0 -41
- package/lib/users/user-uploader.d.ts +0 -1
- package/lib/users/user-uploader.js +0 -45
- package/lib/workflow-template-definitions/workflow-template-definition-commands.d.ts +0 -2
- package/lib/workflow-template-definitions/workflow-template-definition-commands.js +0 -10
- package/lib/workflow-templates/local-workflow-template-deployer.js +0 -102
- package/lib/workflow-templates/workflow-template-commands.d.ts +0 -4
- package/lib/workflow-templates/workflow-template-commands.js +0 -51
- package/lib/workflow-templates/workflow-template-deployer.d.ts +0 -4
- package/lib/workflow-templates/workflow-template-deployer.js +0 -26
- package/publish.bat +0 -5
- package/publish.sh +0 -5
- package/src/api/apps.ts +0 -97
- package/src/api/event-workflow-action-definition.ts +0 -8
- package/src/api/event-workflow-template-definition.ts +0 -23
- package/src/api/event-workflow-templates.ts +0 -29
- package/src/apps/create-app/create.ts +0 -74
- package/src/apps/create-app/setup-template.ts +0 -38
- package/src/apps/deploy-app/actions-deployer.ts +0 -140
- package/src/apps/deploy-app/app-deployer.ts +0 -105
- package/src/apps/deploy-app/app-template-parsers.ts +0 -44
- package/src/apps/deploy-app/deploy.ts +0 -66
- package/src/apps/install-app/app-installer.ts +0 -126
- package/src/apps/upgrade-app/app-upgrader.ts +0 -132
- package/src/auth/auth.ts +0 -10
- package/src/auth/login.ts +0 -155
- package/src/cli.ts +0 -540
- package/src/colors/color-loader.ts +0 -112
- package/src/colors/colors.csv +0 -866
- package/src/common.ts +0 -5
- package/src/config/config.ts +0 -74
- package/src/config/configCommands.ts +0 -38
- package/src/interfaces.ts +0 -200
- package/src/loader-process/loader-process.ts +0 -152
- package/src/projects/interfaces.ts +0 -73
- package/src/projects/project-exporter.ts +0 -225
- package/src/projects/project-uploader.ts +0 -131
- package/src/types/allUploader.ts +0 -28
- package/src/types/csv-parser.ts +0 -59
- package/src/types/interfaces.ts +0 -58
- package/src/types/option-set-hierarchy-exporter.ts +0 -125
- package/src/types/option-set-hierarchy-parser.ts +0 -169
- package/src/types/option-set-hierarchy-uploader.ts +0 -122
- package/src/types/option-set-merger.ts +0 -124
- package/src/types/option-set-parser.ts +0 -166
- package/src/types/option-set-uploader.ts +0 -108
- package/src/types/parse-types.ts +0 -227
- package/src/types/rule-set-uploader.ts +0 -187
- package/src/types/type-property-policy-uploader.ts +0 -192
- package/src/types/types-extractor.ts +0 -369
- package/src/types/types-properties-merger.ts +0 -90
- package/src/types/types-uploader.ts +0 -271
- package/src/types/usage-info-uploader.ts +0 -139
- package/src/users/user-exporter.ts +0 -52
- package/src/users/user-uploader.ts +0 -58
- package/src/workflow-template-definitions/workflow-template-definition-commands.ts +0 -13
- package/src/workflow-template-definitions/workflow-template-definition-deployer.ts +0 -184
- package/src/workflow-templates/local-workflow-template-deployer.ts +0 -126
- package/src/workflow-templates/workflow-template-commands.ts +0 -59
- package/src/workflow-templates/workflow-template-deployer.ts +0 -30
- package/templates/javascript/actions/example/action.js +0 -38
- package/templates/javascript/app.yml +0 -53
- package/templates/javascript/package.json +0 -23
- package/templates/typescript/package-lock.json +0 -14
- package/tsconfig.json +0 -32
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const setup_template_1 = require("../../helpers/app/setup-template");
|
|
5
|
+
class CreateApp extends core_1.Command {
|
|
6
|
+
async run() {
|
|
7
|
+
await (0, setup_template_1.setUpTemplate)();
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.default = CreateApp;
|
|
11
|
+
CreateApp.description = 'Create an app from a template';
|
|
12
|
+
CreateApp.examples = [
|
|
13
|
+
`$ contrail app create
|
|
14
|
+
`,
|
|
15
|
+
];
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
5
|
+
const login_1 = require("../../auth/login");
|
|
6
|
+
const core_1 = require("@oclif/core");
|
|
7
|
+
const load_app_config_1 = require("../../helpers/app/load-app-config");
|
|
8
|
+
const app_deployer_1 = require("../../helpers/app/app-deployer");
|
|
9
|
+
class DeleteApp extends core_1.Command {
|
|
10
|
+
async run() {
|
|
11
|
+
let appDeclaration;
|
|
12
|
+
try {
|
|
13
|
+
appDeclaration = (0, load_app_config_1.loadAppConfig)();
|
|
14
|
+
}
|
|
15
|
+
catch (e) {
|
|
16
|
+
this.log(`%s Application Removal Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
this.log(`%s Removing Application. ${appDeclaration.appIdentifier}`, chalk_1.default.blue.bold('START'));
|
|
20
|
+
try {
|
|
21
|
+
await (0, login_1.authUser)();
|
|
22
|
+
await new app_deployer_1.AppDeployer().remove(appDeclaration);
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
this.log(`%s Application Removal Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
this.log('%s Application Removal Complete.', chalk_1.default.green.bold('COMPLETE'));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.default = DeleteApp;
|
|
32
|
+
DeleteApp.description = 'Delete the app from the app marketplace';
|
|
33
|
+
DeleteApp.examples = [
|
|
34
|
+
`$ contrail app delete
|
|
35
|
+
`,
|
|
36
|
+
];
|
|
37
|
+
// variable argument length
|
|
38
|
+
DeleteApp.strict = true;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class InstallApp extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static strict: boolean;
|
|
6
|
+
static flags: {
|
|
7
|
+
appIdentifier: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
8
|
+
installWorkflowTemplates: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
};
|
|
10
|
+
run(): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
5
|
+
const login_1 = require("../../auth/login");
|
|
6
|
+
const core_1 = require("@oclif/core");
|
|
7
|
+
const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
|
|
8
|
+
const sdk_1 = require("@contrail/sdk");
|
|
9
|
+
const apps_1 = require("../../api/apps");
|
|
10
|
+
const workflow_template_definition_deployer_1 = require("../../helpers/workflow-template-definitions/workflow-template-definition-deployer");
|
|
11
|
+
class InstallApp extends core_1.Command {
|
|
12
|
+
async run() {
|
|
13
|
+
const { args, flags } = await this.parse(InstallApp);
|
|
14
|
+
await (0, login_1.authUser)();
|
|
15
|
+
const apps = await (0, apps_1.getAvailableApps)();
|
|
16
|
+
if (!apps.length) {
|
|
17
|
+
throw new Error('No apps are available to install...');
|
|
18
|
+
}
|
|
19
|
+
const installedApps = await (0, apps_1.getInstalledApps)();
|
|
20
|
+
const installedAppsIds = installedApps.map(x => x.app.id);
|
|
21
|
+
const installableApps = apps.filter(x => !installedAppsIds.includes(x.id));
|
|
22
|
+
if (!flags.appIdentifier) {
|
|
23
|
+
console.log(chalk_1.default.yellow.bold('Installed Apps:'));
|
|
24
|
+
for (const appOrg of installedApps) {
|
|
25
|
+
console.log(chalk_1.default.yellow.bold(`${appOrg.app.name}: ${appOrg.app.identifier}`));
|
|
26
|
+
}
|
|
27
|
+
const questions = [];
|
|
28
|
+
questions.push({
|
|
29
|
+
type: 'list',
|
|
30
|
+
name: 'appIdentifier',
|
|
31
|
+
message: 'Which app would you like to install?',
|
|
32
|
+
choices: installableApps.map(x => x.identifier)
|
|
33
|
+
});
|
|
34
|
+
const answers = await inquirer_1.default.prompt(questions);
|
|
35
|
+
flags.appIdentifier = answers.appIdentifier;
|
|
36
|
+
}
|
|
37
|
+
const app = installableApps.find(x => x.identifier === flags.appIdentifier);
|
|
38
|
+
let configProperties;
|
|
39
|
+
if (app.configProperties) {
|
|
40
|
+
configProperties = await getConfigProperties(app);
|
|
41
|
+
}
|
|
42
|
+
console.log('%s Installing apps', chalk_1.default.green.bold('APP INSTALLATION'));
|
|
43
|
+
const appOrg = await (0, apps_1.installAppToOrg)(app, configProperties);
|
|
44
|
+
// eslint-disable-next-line no-constant-condition
|
|
45
|
+
while (true) {
|
|
46
|
+
await delay(1000);
|
|
47
|
+
try {
|
|
48
|
+
const installingApp = await new sdk_1.Entities().get({ entityName: 'app-org', id: appOrg.id });
|
|
49
|
+
if (installingApp.status === 'READY') {
|
|
50
|
+
console.log('%s App installed', chalk_1.default.green.bold('APP INSTALLATION'));
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
if (installingApp.status === 'FAILED_INSTALLING') {
|
|
54
|
+
console.log('%s App installation failed', chalk_1.default.red.bold('APP INSTALLATION'));
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
process.stdout.write('.');
|
|
58
|
+
}
|
|
59
|
+
catch (e) {
|
|
60
|
+
console.log('%s App installation failed', chalk_1.default.red.bold('APP INSTALLATION'));
|
|
61
|
+
console.log('Error is:', e);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (!flags.installWorkflowTemplates) {
|
|
66
|
+
const answers = await inquirer_1.default.prompt([{
|
|
67
|
+
type: 'confirm',
|
|
68
|
+
name: 'shouldInstallWorkflows',
|
|
69
|
+
message: 'Would you like to install the Workflows associated with this app?',
|
|
70
|
+
default: false
|
|
71
|
+
}]);
|
|
72
|
+
if (!answers.shouldInstallWorkflows) {
|
|
73
|
+
console.log('%s Not installing associated app workflows', chalk_1.default.yellow.bold('APP INSTALLATION'));
|
|
74
|
+
flags.installWorkflowTemplates = false;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (flags.installWorkflowTemplates) {
|
|
78
|
+
const workflowTemplateDefinitions = await (0, apps_1.getWorkflowTemplateDefinitionsForApp)({ appId: app.id });
|
|
79
|
+
if (!workflowTemplateDefinitions.length) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
new workflow_template_definition_deployer_1.WorkflowTemplateDefinitionDeployer().installWorkflowTemplateDefinitions(workflowTemplateDefinitions);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.default = InstallApp;
|
|
87
|
+
InstallApp.description = 'Install an app from the marketplace';
|
|
88
|
+
InstallApp.examples = [
|
|
89
|
+
`$ contrail app install --appIdentifier @VibeIQ/Flex-PLM-Connector
|
|
90
|
+
`,
|
|
91
|
+
];
|
|
92
|
+
// variable argument length
|
|
93
|
+
InstallApp.strict = true;
|
|
94
|
+
InstallApp.flags = {
|
|
95
|
+
appIdentifier: core_1.Flags.string({ char: 'i', description: 'The identifier of the app to install', required: false }),
|
|
96
|
+
installWorkflowTemplates: core_1.Flags.boolean({ char: 'w', description: 'Install the app\'s accompanying workflows', required: false }),
|
|
97
|
+
};
|
|
98
|
+
async function getConfigProperties(app) {
|
|
99
|
+
const config = {};
|
|
100
|
+
for (const key of Object.keys(app.configProperties)) {
|
|
101
|
+
const slug = app.configProperties[key]['slug'];
|
|
102
|
+
const name = app.configProperties[key]['label'];
|
|
103
|
+
const type = app.configProperties[key]['propertyType'];
|
|
104
|
+
const questions = [];
|
|
105
|
+
questions.push({
|
|
106
|
+
type: 'input',
|
|
107
|
+
name: 'configAnswer',
|
|
108
|
+
message: `[App config] ${name} (${type}):`,
|
|
109
|
+
});
|
|
110
|
+
const answers = await inquirer_1.default.prompt(questions);
|
|
111
|
+
config[slug] = answers.configAnswer;
|
|
112
|
+
}
|
|
113
|
+
return config;
|
|
114
|
+
}
|
|
115
|
+
function delay(ms) {
|
|
116
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
117
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
5
|
+
const login_1 = require("../../auth/login");
|
|
6
|
+
const core_1 = require("@oclif/core");
|
|
7
|
+
const load_app_config_1 = require("../../helpers/app/load-app-config");
|
|
8
|
+
const app_deployer_1 = require("../../helpers/app/app-deployer");
|
|
9
|
+
class PublishApp extends core_1.Command {
|
|
10
|
+
// static flags = {
|
|
11
|
+
// list: Flags.string({char: 'f', description: 'Who is saying hello', required: true}),
|
|
12
|
+
// }
|
|
13
|
+
// static args = {
|
|
14
|
+
// AppName: Args.string({description: 'The app name', required: true}),
|
|
15
|
+
// }
|
|
16
|
+
async run() {
|
|
17
|
+
// const { args, flags } = await this.parse(DeployApp)
|
|
18
|
+
let appDeclaration;
|
|
19
|
+
try {
|
|
20
|
+
appDeclaration = (0, load_app_config_1.loadAppConfig)();
|
|
21
|
+
}
|
|
22
|
+
catch (e) {
|
|
23
|
+
console.log(`%s Application Deployment Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
console.log(`%s Deploying Application. ${appDeclaration.appIdentifier}`, chalk_1.default.blue.bold('START'));
|
|
27
|
+
try {
|
|
28
|
+
await (0, login_1.authUser)();
|
|
29
|
+
await new app_deployer_1.AppDeployer().deploy(appDeclaration);
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
console.log(`%s Application Deployment Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
console.log('%s Deployment Complete.', chalk_1.default.green.bold('COMPLETE'));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.default = PublishApp;
|
|
39
|
+
PublishApp.description = 'Publish the app';
|
|
40
|
+
PublishApp.examples = [
|
|
41
|
+
`$ contrail app publish
|
|
42
|
+
`,
|
|
43
|
+
];
|
|
44
|
+
// variable argument length
|
|
45
|
+
PublishApp.strict = true;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class UninstallApp extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static strict: boolean;
|
|
6
|
+
static flags: {
|
|
7
|
+
appIdentifier: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
8
|
+
};
|
|
9
|
+
run(): Promise<void>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
5
|
+
const login_1 = require("../../auth/login");
|
|
6
|
+
const core_1 = require("@oclif/core");
|
|
7
|
+
const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
|
|
8
|
+
const sdk_1 = require("@contrail/sdk");
|
|
9
|
+
const apps_1 = require("../../api/apps");
|
|
10
|
+
class UninstallApp extends core_1.Command {
|
|
11
|
+
async run() {
|
|
12
|
+
const { args, flags } = await this.parse(UninstallApp);
|
|
13
|
+
await (0, login_1.authUser)();
|
|
14
|
+
const installedApps = await (0, apps_1.getInstalledApps)();
|
|
15
|
+
if (!flags.appIdentifier) {
|
|
16
|
+
const answers = await inquirer_1.default.prompt([{
|
|
17
|
+
type: 'list',
|
|
18
|
+
name: 'appIdentifier',
|
|
19
|
+
message: 'Which app would you like to uninstall?',
|
|
20
|
+
choices: installedApps.map(x => x.app.identifier)
|
|
21
|
+
}]);
|
|
22
|
+
flags.appIdentifier = answers.appIdentifier;
|
|
23
|
+
}
|
|
24
|
+
const appToDelete = installedApps.find(x => x.app.identifier === flags.appIdentifier);
|
|
25
|
+
this.log('%s Uninstalling app', chalk_1.default.green.bold('APP UNINSTALLATION'));
|
|
26
|
+
await (0, apps_1.deleteAppOrg)(appToDelete.id);
|
|
27
|
+
// eslint-disable-next-line no-constant-condition
|
|
28
|
+
while (true) {
|
|
29
|
+
await delay(1000);
|
|
30
|
+
try {
|
|
31
|
+
const appStillDeleting = await new sdk_1.Entities().get({ entityName: 'app-org', id: appToDelete.id });
|
|
32
|
+
if (!appStillDeleting) {
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
process.stdout.write('.');
|
|
36
|
+
}
|
|
37
|
+
catch (e) {
|
|
38
|
+
this.log('Error is:', e);
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
this.log('%s App Uninstalled', chalk_1.default.green.bold('APP UNINSTALLATION'));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.default = UninstallApp;
|
|
46
|
+
UninstallApp.description = 'Uninstall an app that is currently installed';
|
|
47
|
+
UninstallApp.examples = [
|
|
48
|
+
`$ contrail app uninstall --name @vibeiq/flexplm-connector
|
|
49
|
+
`,
|
|
50
|
+
];
|
|
51
|
+
// variable argument length
|
|
52
|
+
UninstallApp.strict = true;
|
|
53
|
+
UninstallApp.flags = {
|
|
54
|
+
appIdentifier: core_1.Flags.string({ char: 'n', description: 'The identifier of the app to install. The identifier can be found on the app\'s page in the marketplace.', required: false }),
|
|
55
|
+
};
|
|
56
|
+
function delay(ms) {
|
|
57
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
58
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class UpgradeApp extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static strict: boolean;
|
|
6
|
+
static flags: {
|
|
7
|
+
appIdentifier: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
8
|
+
latest: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
};
|
|
10
|
+
run(): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
5
|
+
const login_1 = require("../../auth/login");
|
|
6
|
+
const core_1 = require("@oclif/core");
|
|
7
|
+
const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
|
|
8
|
+
const sdk_1 = require("@contrail/sdk");
|
|
9
|
+
const apps_1 = require("../../api/apps");
|
|
10
|
+
class UpgradeApp extends core_1.Command {
|
|
11
|
+
async run() {
|
|
12
|
+
const { args, flags } = await this.parse(UpgradeApp);
|
|
13
|
+
await (0, login_1.authUser)();
|
|
14
|
+
const allApps = await (0, apps_1.getAvailableApps)();
|
|
15
|
+
const installedApps = await (0, apps_1.getInstalledApps)();
|
|
16
|
+
if (!flags.appIdentifier) {
|
|
17
|
+
const answers = await inquirer_1.default.prompt([{
|
|
18
|
+
type: 'list',
|
|
19
|
+
name: 'appIdentifier',
|
|
20
|
+
message: 'Which app would you like to upgrade?',
|
|
21
|
+
choices: installedApps.map(x => x.app.identifier)
|
|
22
|
+
}]);
|
|
23
|
+
flags.appIdentifier = answers.appIdentifier;
|
|
24
|
+
}
|
|
25
|
+
const appOrgToUpgrade = installedApps.find(x => x.app.identifier === flags.appIdentifier);
|
|
26
|
+
const appToUpgrade = allApps.find(x => x.identifier === flags.appIdentifier);
|
|
27
|
+
const versions = await (0, apps_1.getAppVersions)(appToUpgrade);
|
|
28
|
+
let versionToUpgrade;
|
|
29
|
+
if (flags.latest) {
|
|
30
|
+
versionToUpgrade = versions.sort((a, b) => a.createdOn > b.createdOn ? 1 : -1)[0].id;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
const answers = await inquirer_1.default.prompt([{
|
|
34
|
+
type: 'list',
|
|
35
|
+
name: 'appVersion',
|
|
36
|
+
message: 'Which app version would you like to upgrade to?',
|
|
37
|
+
choices: versions.map(x => {
|
|
38
|
+
const number = x.versionNumber.toString().padStart(4, '0');
|
|
39
|
+
const name = x.id === appOrgToUpgrade.appVersionId ? `${number} (${x.createdOn}) (current)` : `${number} (${x.createdOn})`;
|
|
40
|
+
return {
|
|
41
|
+
value: x.id, name
|
|
42
|
+
};
|
|
43
|
+
}).sort((x, y) => { return x.name > y.name ? -1 : 1; })
|
|
44
|
+
}]);
|
|
45
|
+
versionToUpgrade = answers.appVersion;
|
|
46
|
+
}
|
|
47
|
+
this.log(`%s Upgrading app to version ${versionToUpgrade}`, chalk_1.default.green.bold('APP UPGRADE'));
|
|
48
|
+
await (0, apps_1.upgradeAppVersion)(appOrgToUpgrade, versionToUpgrade);
|
|
49
|
+
// eslint-disable-next-line no-constant-condition
|
|
50
|
+
while (true) {
|
|
51
|
+
await delay(1000);
|
|
52
|
+
const appStillUpgrading = await new sdk_1.Entities().get({ entityName: 'app-org', id: appOrgToUpgrade.id });
|
|
53
|
+
if (appStillUpgrading.status === 'READY') {
|
|
54
|
+
this.log('%s App Upgraded', chalk_1.default.green.bold('APP UPGRADE'));
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
if (appStillUpgrading.status === 'FAILED_INSTALLING') {
|
|
58
|
+
this.log('%s App Upgrade FAILED!', chalk_1.default.red.bold('APP UPGRADE'));
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
this.log('checking app status...');
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.default = UpgradeApp;
|
|
66
|
+
UpgradeApp.description = 'Upgrade an installed app';
|
|
67
|
+
UpgradeApp.examples = [
|
|
68
|
+
`$ contrail app upgrade --appIdentifier @VibeIQ/Flex-PLM-Connector --latest
|
|
69
|
+
`,
|
|
70
|
+
];
|
|
71
|
+
// variable argument length
|
|
72
|
+
UpgradeApp.strict = true;
|
|
73
|
+
UpgradeApp.flags = {
|
|
74
|
+
appIdentifier: core_1.Flags.string({ char: 'i', description: 'The appIdentifier of the app to install', required: false }),
|
|
75
|
+
latest: core_1.Flags.boolean({ char: 'l', description: 'Upgrade to the latest version of the app', required: false })
|
|
76
|
+
};
|
|
77
|
+
function delay(ms) {
|
|
78
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
79
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
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/colors/helpers");
|
|
8
|
+
class DeleteAllColors extends core_1.Command {
|
|
9
|
+
async run() {
|
|
10
|
+
try {
|
|
11
|
+
await (0, login_1.authUser)();
|
|
12
|
+
const colors = await (0, helpers_1.getExistingColors)();
|
|
13
|
+
console.log('Deleting %s colors', colors.length);
|
|
14
|
+
for (const color of colors) {
|
|
15
|
+
await (0, helpers_1.deleteColor)(color);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
catch (e) {
|
|
19
|
+
console.log(`%s Loading Colors Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
console.log('%s Deleting Colors Complete.', chalk_1.default.green.bold('COMPLETE'));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.default = DeleteAllColors;
|
|
26
|
+
DeleteAllColors.description = 'Say hello';
|
|
27
|
+
DeleteAllColors.examples = [
|
|
28
|
+
`$ contrail colors deleteAll
|
|
29
|
+
`,
|
|
30
|
+
];
|
|
@@ -0,0 +1,29 @@
|
|
|
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/colors/helpers");
|
|
8
|
+
class LoadColors extends core_1.Command {
|
|
9
|
+
async run() {
|
|
10
|
+
try {
|
|
11
|
+
await (0, login_1.authUser)();
|
|
12
|
+
console.log('%s Getting Existing Colors', chalk_1.default.yellow.bold('COLORS'));
|
|
13
|
+
console.log('%s Uploading', chalk_1.default.yellow.bold('COLORS'));
|
|
14
|
+
await (0, helpers_1.uploadColors)();
|
|
15
|
+
console.log('%s Uploaded', chalk_1.default.yellow.bold('COLORS'));
|
|
16
|
+
}
|
|
17
|
+
catch (e) {
|
|
18
|
+
console.log(`%s Loading Colors Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
console.log('%s Loading Colors Complete.', chalk_1.default.green.bold('COMPLETE'));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.default = LoadColors;
|
|
25
|
+
LoadColors.description = 'Say hello';
|
|
26
|
+
LoadColors.examples = [
|
|
27
|
+
`$ contrail colors load
|
|
28
|
+
`,
|
|
29
|
+
];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const config_1 = require("../../helpers/config/config");
|
|
5
|
+
class ListConfig extends core_1.Command {
|
|
6
|
+
async run() {
|
|
7
|
+
this.log(await (0, config_1.readVibeIQConfig)());
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.default = ListConfig;
|
|
11
|
+
ListConfig.description = 'List the configurations';
|
|
12
|
+
ListConfig.examples = [
|
|
13
|
+
`$ contrail config list
|
|
14
|
+
`,
|
|
15
|
+
];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class RemoveConfig extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static strict: boolean;
|
|
6
|
+
static flags: {
|
|
7
|
+
orgSlug: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
apiGateway: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
orgId: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
apiUserToken: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
};
|
|
12
|
+
static args: {};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const config_1 = require("../../helpers/config/config");
|
|
5
|
+
class RemoveConfig extends core_1.Command {
|
|
6
|
+
async run() {
|
|
7
|
+
const { args, flags } = await this.parse(RemoveConfig);
|
|
8
|
+
await (0, config_1.deleteConfigs)(Object.keys(flags));
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.default = RemoveConfig;
|
|
12
|
+
RemoveConfig.description = 'Remove a variable from the configuration';
|
|
13
|
+
RemoveConfig.examples = [
|
|
14
|
+
`$ contrail config remove --orgId
|
|
15
|
+
`,
|
|
16
|
+
];
|
|
17
|
+
// variable argument length
|
|
18
|
+
RemoveConfig.strict = false;
|
|
19
|
+
RemoveConfig.flags = {
|
|
20
|
+
// list: Flags.string({char: 'f', description: 'Who is saying hello', required: true}),
|
|
21
|
+
orgSlug: core_1.Flags.boolean({ description: 'The org slug', required: false }),
|
|
22
|
+
apiGateway: core_1.Flags.boolean({ description: 'The API Gateway', required: false }),
|
|
23
|
+
orgId: core_1.Flags.boolean({ description: 'The org Id', required: false }),
|
|
24
|
+
apiUserToken: core_1.Flags.boolean({ description: 'The API User Token', required: false }),
|
|
25
|
+
};
|
|
26
|
+
RemoveConfig.args = {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class SetConfig extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
orgSlug: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
7
|
+
apiGateway: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
8
|
+
orgId: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
9
|
+
apiUserToken: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
10
|
+
};
|
|
11
|
+
static args: {};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const config_1 = require("../../helpers/config/config");
|
|
5
|
+
class SetConfig extends core_1.Command {
|
|
6
|
+
async run() {
|
|
7
|
+
const { flags } = await this.parse(SetConfig);
|
|
8
|
+
const config = {};
|
|
9
|
+
for (const [label, obj] of Object.entries(flags)) {
|
|
10
|
+
config[label] = obj;
|
|
11
|
+
console.log(`label: ${label}, obj: ${obj}`);
|
|
12
|
+
}
|
|
13
|
+
await (0, config_1.storeConfig)(config);
|
|
14
|
+
this.log(await (0, config_1.readVibeIQConfig)());
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.default = SetConfig;
|
|
18
|
+
SetConfig.description = 'Set a variable in the configuration';
|
|
19
|
+
SetConfig.examples = [
|
|
20
|
+
`$ contrail config set --orgId 1234
|
|
21
|
+
`,
|
|
22
|
+
];
|
|
23
|
+
SetConfig.flags = {
|
|
24
|
+
orgSlug: core_1.Flags.string({ description: 'The org slug', required: false }),
|
|
25
|
+
apiGateway: core_1.Flags.string({ description: 'The API Gateway', required: false }),
|
|
26
|
+
orgId: core_1.Flags.string({ description: 'The org Id', required: false }),
|
|
27
|
+
apiUserToken: core_1.Flags.string({ description: 'The API User Token', required: false }),
|
|
28
|
+
};
|
|
29
|
+
SetConfig.args = {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class LoadPS extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
configFileName: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
run(): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
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/loader-process/helpers");
|
|
8
|
+
class LoadPS extends core_1.Command {
|
|
9
|
+
async run() {
|
|
10
|
+
const { args, flags } = await this.parse(LoadPS);
|
|
11
|
+
try {
|
|
12
|
+
await (0, login_1.authUser)();
|
|
13
|
+
console.log('%s Uploading file', chalk_1.default.yellow.bold('LOADER'));
|
|
14
|
+
const configFileName = args.configFileName;
|
|
15
|
+
await (0, helpers_1.loadLocalFile)(configFileName);
|
|
16
|
+
console.log('%s Uploaded', chalk_1.default.yellow.bold('LOADER'));
|
|
17
|
+
}
|
|
18
|
+
catch (e) {
|
|
19
|
+
console.log(`%s Starting Load Failed. ${e}`, chalk_1.default.red.bold('FAIL'));
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
console.log('%s Starting Load Complete.', chalk_1.default.green.bold('COMPLETE'));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.default = LoadPS;
|
|
26
|
+
LoadPS.description = 'Upload a csv file and kick off a load job for the uploaded file. The config path must be a reference to a .json or a .yml file.';
|
|
27
|
+
LoadPS.examples = [
|
|
28
|
+
`$ contrail load-processor load
|
|
29
|
+
`,
|
|
30
|
+
];
|
|
31
|
+
LoadPS.args = {
|
|
32
|
+
configFileName: core_1.Args.string({ char: 'c', description: 'The configuration file location', required: true }),
|
|
33
|
+
};
|