Self answers:How to stop all tasks on a cluster with a single cli command, easily allowing for extra parameters to be passed.
The below will:
jq
, -r
removes the quotes from the
json value.xargs
, the value is
appended to the command (after --task). n-1
just ensures there is
one command per arn, not sure if necessary.aws ecs list-tasks --cluster "$ecs_cluster" | jq -r ".taskArns[]" | xargs -n1 aws ecs stop-task --no-cli-pager --cluster "$ecs_cluster" --task
--no-cli-pager
prevents the output from stop-task
from getting stuck after each execution.
Any optimization welcome. I saw another solution with awk but found it hard to use with passing extra params to the second command.