Skip to content

Instantly share code, notes, and snippets.

@daviscale
Created November 30, 2012 16:14
Show Gist options
  • Save daviscale/4176725 to your computer and use it in GitHub Desktop.
Save daviscale/4176725 to your computer and use it in GitHub Desktop.
#!/bin/bash
NO_ARGS=0
E_OPTERROR=85
if [ $# -eq "$NO_ARGS" ]
then
echo "Usage: `basename $0` -E <environment> <pattern>"
exit $E_OPTERROR
fi
while getopts "E:R:" Option
do
case $Option in
E ) ENV=$OPTARG;;
R ) REGION=$OPTARG;;
* ) echo "Unknown option chosen.";;
esac
done
shift $(($OPTIND -2))
PATTERN=$1
KNIFECFG=".chef/knife-$ENV.rb"
if [ -z "$REGION" ]
then
SERVERS=`knife ec2 server list -c $KNIFECFG | grep -v "terminated" | grep ${PATTERN} | cut -d " " -f 1`
else
SERVERS=`knife ec2 server list -c $KNIFECFG --region $REGION | grep -v "terminated" | grep ${PATTERN} | cut -d " " -f 1`
fi
for server in ${SERVERS}
do
knife ec2 server delete ${server} -y -c $KNIFECFG
knife node delete ${server} -y -c $KNIFECFG
done
exit $?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment