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 region= declare name="${instance/:*/}"
region=$(__cloud_GetRegion "${zones[0]}") declare zone="${instance/*:/}"
declare region=
( region=$(__cloud_GetRegion "$zone")
set -x (
aws ec2 terminate-instances --region "$region" --instance-ids "${names[@]}" set -x
) 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=$(\