Correctly terminate instances across multiple zones

This commit is contained in:
Michael Vines
2019-04-28 09:09:02 -07:00
parent 0b7269b64e
commit 6f56501034

View File

@ -310,18 +310,24 @@ cloud_DeleteInstances() {
return return
fi fi
declare names=("${instances[@]/:*/}") # Terminate the instances
declare zones=("${instances[@]/*:/}") for instance in "${instances[@]}"; do
declare name="${instance/:*/}"
declare zone="${instance/*:/}"
declare region= declare region=
region=$(__cloud_GetRegion "${zones[0]}") region=$(__cloud_GetRegion "$zone")
( (
set -x set -x
aws ec2 terminate-instances --region "$region" --instance-ids "${names[@]}" aws ec2 terminate-instances --region "$region" --instance-ids "$name"
) )
done
# Wait until the instances are terminated # Wait until the instances are terminated
for name in "${names[@]}"; do for instance in "${instances[@]}"; do
declare name="${instance/:*/}"
declare zone="${instance/*:/}"
declare region=
region=$(__cloud_GetRegion "$zone")
while true; do while true; do
declare instanceState declare instanceState
instanceState=$(\ instanceState=$(\