function executeTask()

in pipeline/statemachines/deploy/create_change_set.js [20:55]


function executeTask(event, context) {

    var params = event;
    var artifactExtractPath = '/tmp/sandbox/';
    var artifactZipPath = '/tmp/application_code.zip';
    var stackName = params.environmentName + "-" + params.stackName;
    var cfnManager = new CloudFormationManager();
    var s3Details = {
        Bucket: params.revisionS3Bucket,
        Key: params.revisionS3Key
    };
    return Util.getS3Object(s3Details, artifactZipPath)
        .then(function () {
            return Util.rmdir(artifactExtractPath);
        })
        .then(function () {
            return Util.extractZip(artifactZipPath, artifactExtractPath);
        })
        .then(function () {
            var fs = require("fs");
            var templateBody = fs.readFileSync(artifactExtractPath + params.templatePath, {
                encoding: 'utf8'
            });
            var cnfParams = [
                {
                    ParameterKey: "environmentName",
                    ParameterValue: params.environmentName,
                }
            ];
            var changeSetName = Util.createRandomName(stackName.substring(0, 100) + "-change-set");
            return cfnManager.createChangeSet(stackName, changeSetName, templateBody, cnfParams)
                .then(function (data) {
                    return changeSetName;
                });
        });
}