}, function (err) { if (err) return cb(new error.AmazonError('cloudwatch.putMetricAlarm', err)); logger.info('created scale up alarm', alarmName, job.deploy.id); db.stacks.updateById( job.stack.id, {'assets.pending.scaleUpAlarm': alarmName}, cb ); });
}, function (err) { if (err) return cb(new error.AmazonError('cloudwatch.deleteAlarms', err)); logger.info('deleted scale up alarm', alarmName, (job.deploy) ? job.deploy.id : job.stackId); db.stacks.updateById( job.stack.id, {'assets.active.scaleUpAlarm': null}, cb ); });
function (err) { if (err) return cb(err); logger.info('enqueue job to delete load balancer security group', groupId, job.deploy.id); db.stacks.updateById( job.stack.id, {'assets.pending.loadBalancerSecurityGroup': null}, cb ); }
}, function (err, data) { if (err) return cb(new error.AmazonError('autoscaling.putScalingPolicy', err)); logger.info('created scale up policy', data.PolicyARN, job.deploy.id); db.stacks.updateById( job.stack.id, {'assets.pending.scaleUpPolicy': data.PolicyARN}, cb ); });
}, function (err) { if (err) return cb(new error.AmazonError('cloudwatch.deleteAlarms', err)); logger.info('deleted status check alarm', alarmName, job.deploy.id); db.stacks.updateById( job.stack.id, {'assets.pending.statusCheckAlarm': null}, cb ); });
}, function (err) { if (err) return cb(new error.AmazonError('autoscaling.deleteAutoScalingGroup', err)); logger.info('deleted auto scaling group', asgName, (job.deploy) ? job.deploy.id : job.stackId); db.stacks.updateById( job.stack.id, {'assets.active.autoScalingGroup': null}, cb ); });
}, function (err, data) { if (err) return cb(err); logger.info('created loadbalancer security group', data.GroupId, job.deploy.id); db.stacks.updateById( job.stack.id, {'assets.pending.loadBalancerSecurityGroup': data.GroupId}, cb ); });
}, function (err) { if (err) return cb(new error.AmazonError('autoscaling.createAutoScalingGroup', err)); logger.info('created auto scaling group', asgName, job.deploy.id); db.stacks.updateById( job.stack.id, {'assets.pending.autoScalingGroup': asgName}, cb ); });
}, function (err) { if (err) return cb(err); logger.info('created sns subscription', job.deploy.id); db.stacks.updateById( job.stack.id, {'assets.pending.snsTopicSubscription': settings.eventsQueueArn}, cb ); });
exports.getAll = function (req, res, next) { db.stacks.find({appId: req.context.app.id}, req.pagination, function (err, data) { if (data.length > req.pagination.limit) { var last = data.pop(); res.set('Next', last._createdAt); } (err) ? next(err) : res.json(data); }); };
setPlatform: ['appScript', (done) => { db.stacks.updateById(deploy.stackId, {platform: 'nodejs'}, done); }],
}, function (err) { if (err) return cb(new error.AmazonError('iam.createRole', err)); logger.info('deleted iam role', roleName, (job.deploy) ? job.deploy.id : job.stackId); db.stacks.updateById(job.stack.id, {'assets.active.iamRole': null}, cb); });
}, function (err) { if (err) return cb(new error.AmazonError('iam.createRole', err)); logger.info('created iam role', roleName, job.deploy.id); db.stacks.updateById(job.stack.id, {'assets.pending.iamRole': roleName}, cb); });
clearPendingAssets: function (cb) { db.stacks.updateById(job.stackId, {'assets.pending': {}}, cb); },
update: ['link', function (done, data) { db.stacks.updateById(context.stackId, {'assets.active.newRelicLink': data.link}, done) }]