cloudcms-cli
Version:
Cloud CMS Command-Line client
72 lines (68 loc) • 2.75 kB
JavaScript
var helper = require("../../../helper");
var AbstractCommand = require("../../abstract");
class MigrateDataStoreCommand extends AbstractCommand
{
constructor()
{
super({
"group": "admin",
"name": "migrate-datastore",
"description": "Migrates a datastore from one environment to another",
"schema": {
"properties": [{
"name": "datastoreTypeId",
"type": "string",
"description": "Enter the data store type ID",
"required": true,
"args": ["datastoreTypeId", "type"]
}, {
"name": "datastoreId",
"type": "string",
"description": "Enter the data store ID",
"required": true,
"args": ["datastoreId", "id"]
}, {
"name": "sourceEnvironmentId",
"type": "string",
"description": "Enter the source environment ID",
"required": true,
"args": ["sourceEnvironmentId", "sourceEnv"]
}, {
"name": "targetEnvironmentId",
"type": "string",
"description": "Enter the target environment ID",
"required": true,
"args": ["targetEnvironmentId", "targetEnv"]
}, {
"name": "overwrite",
"type": "boolean",
"description": "Whether to overwrite the datastore in the target environment if it already exists",
"required": false,
"default": "overwrite",
"args": ["overwrite", "o"]
}, {
"name": "username",
"type": "string",
"description": "Admin username",
"required": true,
"args": ["username", "u"]
}, {
"name": "password",
"type": "string",
"description": "Admin password",
"required": true,
"hidden": true,
"args": ["password", "p"]
}]
}
});
}
handle(options, callback)
{
// call workhorse function
helper.migrateDataStore(options.datastoreTypeId, options.datastoreId, options.sourceEnvironmentId, options.targetEnvironmentId, options.overwrite, options.username, options.password, function(err, job) {
callback(err);
});
}
}
module.exports = MigrateDataStoreCommand;