{
  "version" : 2,
  "waiters" : {
    "ServicesInactive" : {
      "delay" : 15,
      "maxAttempts" : 40,
      "operation" : "DescribeServices",
      "acceptors" : [ {
        "matcher" : "pathAny",
        "argument" : "failures[].reason",
        "state" : "failure",
        "expected" : "MISSING"
      }, {
        "matcher" : "pathAny",
        "argument" : "services[].status",
        "state" : "success",
        "expected" : "INACTIVE"
      } ]
    },
    "ServicesStable" : {
      "delay" : 15,
      "maxAttempts" : 40,
      "operation" : "DescribeServices",
      "acceptors" : [ {
        "matcher" : "pathAny",
        "argument" : "failures[].reason",
        "state" : "failure",
        "expected" : "MISSING"
      }, {
        "matcher" : "pathAny",
        "argument" : "services[].status",
        "state" : "failure",
        "expected" : "DRAINING"
      }, {
        "matcher" : "pathAny",
        "argument" : "services[].status",
        "state" : "failure",
        "expected" : "INACTIVE"
      }, {
        "matcher" : "path",
        "argument" : "length(services[?!(length(deployments) == `1` && runningCount == desiredCount)]) == `0`",
        "state" : "success",
        "expected" : true
      } ]
    },
    "TasksRunning" : {
      "delay" : 6,
      "maxAttempts" : 100,
      "operation" : "DescribeTasks",
      "acceptors" : [ {
        "matcher" : "pathAny",
        "argument" : "tasks[].lastStatus",
        "state" : "failure",
        "expected" : "STOPPED"
      }, {
        "matcher" : "pathAny",
        "argument" : "failures[].reason",
        "state" : "failure",
        "expected" : "MISSING"
      }, {
        "matcher" : "pathAll",
        "argument" : "tasks[].lastStatus",
        "state" : "success",
        "expected" : "RUNNING"
      } ]
    },
    "TasksStopped" : {
      "delay" : 6,
      "maxAttempts" : 100,
      "operation" : "DescribeTasks",
      "acceptors" : [ {
        "matcher" : "pathAll",
        "argument" : "tasks[].lastStatus",
        "state" : "success",
        "expected" : "STOPPED"
      } ]
    }
  }
}