AWS Jessie: Find image by name

This means we don't have to code the AMI ids for each region.
This commit is contained in:
Justin Santa Barbara 2016-02-19 23:46:00 -05:00
parent 977a4a56e4
commit aa57beb885

View File

@ -22,60 +22,19 @@ source "${KUBE_ROOT}/cluster/aws/trusty/common.sh"
SSH_USER=admin
# Detects the AMI to use for jessie (considering the region)
# Source: https://wiki.debian.org/Cloud/AmazonEC2Image/Jessie
#
# Vars set:
# AWS_IMAGE
function detect-jessie-image () {
if [[ -z "${AWS_IMAGE-}" ]]; then
case "${AWS_REGION}" in
ap-northeast-1)
AWS_IMAGE=ami-e624fbe6
;;
ap-southeast-1)
AWS_IMAGE=ami-ac360cfe
;;
ap-southeast-2)
AWS_IMAGE=ami-bbc5bd81
;;
eu-central-1)
AWS_IMAGE=ami-02b78e1f
;;
eu-west-1)
AWS_IMAGE=ami-e31a6594
;;
sa-east-1)
AWS_IMAGE=ami-0972f214
;;
us-east-1)
AWS_IMAGE=ami-116d857a
;;
us-west-1)
AWS_IMAGE=ami-05cf2541
;;
us-west-2)
AWS_IMAGE=ami-818eb7b1
;;
cn-north-1)
AWS_IMAGE=ami-888815b1
;;
us-gov-west-1)
AWS_IMAGE=ami-35b5d516
;;
*)
echo "Please specify AWS_IMAGE directly (region ${AWS_REGION} not recognized)"
exit 1
esac
# TODO: publish on a k8s AWS account
aws_account="721322707521"
# TODO: we could use tags for the image
image_name="k8s-1.2-debian-jessie-amd64-hvm-2016-02-23-ebs"
AWS_IMAGE=`aws ec2 describe-images --owner ${aws_account} --filters Name=name,Values=${image_name} --query Images[].ImageId --output text`
if [[ -z "${AWS_IMAGE:-}" ]]; then
echo "Please specify AWS_IMAGE directly (image ${image_name} not found in region ${AWS_REGION})"
exit 1
fi
fi
}