72 lines
1.9 KiB
JavaScript
72 lines
1.9 KiB
JavaScript
const awscli = require("./awscli");
|
|
const azurecli = require("./azurecli");
|
|
const db = require("./mongo");
|
|
|
|
|
|
async function deallocate(provId, userId, isSendEmailAfter ) {
|
|
try {
|
|
let provision = await db.provision.getById(provId);
|
|
if ( !provision ) return;
|
|
|
|
if (provision.scenario === 'azqmi-fort'){
|
|
return awscli.deallocate(provision, userId, isSendEmailAfter);
|
|
} else {
|
|
return azurecli.deallocate(provision, userId, isSendEmailAfter);
|
|
}
|
|
} catch (err) {
|
|
console.log("CLI# ERROR stopping VMs", err);
|
|
}
|
|
}
|
|
|
|
async function start(provId, userId){
|
|
|
|
try {
|
|
let provision = await db.provision.getById(provId);
|
|
|
|
if ( !provision ) return;
|
|
|
|
if (provision.scenario === 'azqmi-fort'){
|
|
return awscli.start(provision, userId);
|
|
} else {
|
|
return azurecli.start(provision, userId);
|
|
}
|
|
} catch (err) {
|
|
console.log("CLI# ERROR starting VMs", err);
|
|
}
|
|
}
|
|
|
|
async function updateVmsTags(provId, tagsEdit) {
|
|
try {
|
|
return azurecli.updateVmsTags(provId, tagsEdit);
|
|
} catch (err) {
|
|
console.log("CLI# ERROR updateVmsTags", err);
|
|
}
|
|
}
|
|
|
|
async function stopDb(provId, userId, isSendEmailAfter) {
|
|
try {
|
|
let provision = await db.provision.getById(provId);
|
|
if ( !provision ) return;
|
|
|
|
return awscli.stopDbInstance(provision, userId, isSendEmailAfter);
|
|
} catch (err) {
|
|
console.log("CLI# ERROR stopping DB", err);
|
|
}
|
|
}
|
|
|
|
async function startDb(provId, userId) {
|
|
try {
|
|
let provision = await db.provision.getById(provId);
|
|
if ( !provision ) return;
|
|
|
|
return awscli.startDbInstance(provision, userId);
|
|
} catch (err) {
|
|
console.log("CLI# ERROR stopping DB", err);
|
|
}
|
|
}
|
|
|
|
module.exports.deallocate = deallocate;
|
|
module.exports.start = start;
|
|
module.exports.updateVmsTags = updateVmsTags;
|
|
module.exports.stopDb = stopDb;
|
|
module.exports.startDb = startDb; |