briareus
Version:
Briareus assists with Feature Branch deploys to ECS
23 lines (18 loc) • 769 B
JavaScript
;
const _ = require('lodash');
const ecsTaskDefinitionValidator = require('ecs-task-definition-validator');
function taskDefinitionSchemaModification(schema) {
if (schema.id !== '/taskDefinition') return schema;
// Family is computed by Briareus, thus unnecessary to provide in
// the Task Definition
let familyIndex = schema.required.indexOf('family');
schema.required.splice(familyIndex, 1);
return schema;
}
module.exports = function (taskDefinition) {
let result = ecsTaskDefinitionValidator(taskDefinition, taskDefinitionSchemaModification);
if (result.errors.length > 0) {
let messages = _.map(result.errors, 'message').join(") (");
return new Error(`ECS Task Definition validation failed. Messages: (${messages})`);
}
}