Support --remove-existing-ami option to get rid of existing AMIs with same name

changes/46/546/1
Michael Prokop 13 years ago
parent 76bddd2ea5
commit 4f57aee881

@ -36,12 +36,14 @@ Supported OPTIONS:
(if unset defaults to <latest>)
--public Make AMI available to the public
(if unset defaults to private)
--remove-existing-ami If an AMI with the according name already exists get
rid of it before trying to creating the AMI
--region <REGION> specify region that should be used
(if unset defaults to the eu-west-1 zone)
"
}
CMDLINE_OPTS=base-ami:,help,instance-type:,ngcp-release:,public,region:
CMDLINE_OPTS=base-ami:,help,instance-type:,ngcp-release:,public,region:,remove-existing-ami
_opt_temp=$(getopt --name $0 -o +bch --long $CMDLINE_OPTS -- "$@")
if [ $? -ne 0 ]; then
@ -51,6 +53,7 @@ fi
eval set -- "$_opt_temp"
_opt_public=false
_opt_remove_existing_ami=false
while :; do
case "$1" in
@ -72,6 +75,9 @@ while :; do
--region)
shift; AWS_REGION="$1"
;;
--remove-existing-ami)
_opt_remove_existing_ami=true
;;
--)
shift; break
;;
@ -209,6 +215,18 @@ else
exit 1
fi
if ec2-describe-images --region "$AWS_REGION" --filter "name=${AMI_NAME}" | grep -q . ; then
echo "*** Warning, AMI with name ${AMI_NAME} exists already."
if $_opt_remove_existing_ami ; then
echo "*** Option --remove-existing-ami is set, removing existing AMI with name ${AMI_NAME} ***"
ec2-deregister --region "$AWS_REGION" "${AMI_NAME}"
if [ $? -ne 0 ] ; then
echo "Noticed problem when trying to delete AMI with name ${AMI_NAME}." >&2
exit 1
fi
fi
fi
LOGFILE_AMI=$(mktemp)
ec2-create-image --region "$AWS_REGION" \
--name "$AMI_NAME" \

Loading…
Cancel
Save