ecsDeleteBot: function()

in backend/src/bot/ecsDeleteBot.js [4:74]


  ecsDeleteBot: function (event, context, callback)  {

    console.log(event);

    var blankArray = new Object();
    blankArray = [];
    var tasks = listTasks(ecs, process.env.CLUSTER, event.thingName);

    tasks.then(function(result) {
        if (JSON.stringify(result.taskArns) === JSON.stringify(blankArray)) {
          console.log("No tasks exist for", event.thingName);
          console.log("listTasks API returned", result);
        } else {
          console.log("Task(s) found for ", event.thingName, ".  DELETING");
          console.log(result);
          
          var stop = [];
          for (var i = 0, len = result.taskArns.length; i < len; i++) {
            stop.push(stopTask(ecs, process.env.CLUSTER, result.taskArns[i]));
          }
          
          Promise.all(stop)    
          .then(function(result) {
              for (var i = 0, len = result.length; i < len; i++) {
                console.log("Stopped Task", result[i].task.taskArn);
              }
            })
            .catch(function(err) {
              console.log("ERROR: stopTask API call failed!");
              console.log(err);    
            });
        }
    }, function(err) {
        console.log("ERROR: listTasks API call failed!");
        console.log(err);
    });


    var taskDefinitions = listActiveTaskDefinitions(ecs, event.thingName);

    taskDefinitions.then(function(result) {
        if (JSON.stringify(result.taskDefinitionArns) === JSON.stringify(blankArray)) {
          console.log("No task definitions exist for", event.thingName);
          console.log("listTaskDefinitions API returned", result);
        } else {
          console.log("Task Definition(s) found for ", event.thingName, ".  DELETING");
          console.log(result);

          var deregister = [];
          for (var i = 0, len = result.taskDefinitionArns.length; i < len; i++) {
            deregister.push(deregisterTaskDefinition(ecs, result.taskDefinitionArns[i]));
          }
            
          Promise.all(deregister)    
          .then(function(result) {
              for (var i = 0, len = result.length; i < len; i++) {
                console.log("Deregistered Task Definition", result[i].taskDefinition.taskDefinitionArn);
              }
            })
            .catch(function(err) {
              console.log("ERROR: deregisterTaskDefinition API call failed!");
              console.log(err);    
            });
            
        }
    }, function(err) {
        console.log("ERROR: listTaskDefinitions API call failed!");
        console.log(err);
    });
    
  }