berlioz
Version:
Berlioz - cloud deployment and migration services
76 lines (66 loc) • 2.12 kB
JavaScript
module.exports = {
useClient: true,
arguments: [
{
name: 'deployment',
optional: true
},
{
name: 'cluster',
optional: true
},
{
name: 'region',
optional: false
}
],
flags: [
'json'
],
fetch: function({args, client, screen}) {
var data = {
deployment: args.deployment,
cluster: args.cluster,
region: args.region
};
return client.post(args.region, '/deployment-clusters/status', data);
},
exec: function({_, args, client, screen, result}) {
if (args.json) {
screen.info(JSON.stringify(result));
return result;
}
screen.table()
.column('Deployment')
.column('Cluster')
.autofitColumn('Region')
.autofitColumn('Desired State')
.autofitColumn('Status')
.addRange(result, x => [
x.deployment,
x.cluster,
x.region,
x.state,
x.userStatus
])
.output();
for(var cd of result)
{
if (cd.status == 'warning' || cd.status == 'failed')
{
screen.error('* %s :: %s :: %s processing failed. Reason:', cd.deployment, cd.region, cd.cluster);
var msg = cd.message;
if (!msg) {
if (cd.status == 'failed') {
msg = 'Cluster processing failed. Contact support@berlioz.cloud for assistance.';
} else if (cd.status == 'warning') {
msg = 'There was issue with cluster processing. System will try to recover itself. Contact support@berlioz.cloud for assistance.';
} else {
msg = 'Unknown error happened. Contact support@berlioz.cloud for assistance.';
}
}
screen.error(' %s', msg);
}
}
}
}