Guest User

Untitled

a guest
Feb 18th, 2018
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. cmdname=$(basename $0)
  4. function usage(){
  5. echo "Usage: ${cmdname} [profile] [ap-northeast-1] [Instance ID] [AMI Name]" 1>&2
  6. }
  7. if [ $# -lt 4 ]; then
  8. usage
  9. exit 1
  10. fi
  11. _PROFILE=${1}
  12. _REGION=${2}
  13. _INSTANCE=${3}
  14. _AMI_NAME=${4}
  15.  
  16. # If specified image is available, return "available".
  17. function describe_image_state(){
  18. aws --profile ${_PROFILE} --region ${_REGION} \
  19. ec2 describe-images \
  20. --image-ids "${1}" |\
  21. jq -r ".Images[].State"
  22. }
  23.  
  24. _AMI_ID=`aws --profile ${_PROFILE} --region ${_REGION} \
  25. ec2 create-image --instance-id ${_INSTANCE} --name ${_AMI_NAME} --no-reboot |\
  26. jq -r ".ImageId"`
  27. date
  28. echo "ImageID: ${_AMI_ID} Creating..."
  29.  
  30. while [ `describe_image_state ${_AMI_ID}` != "available" ]
  31. do
  32. sleep 1
  33. echo -n ". "
  34. done
  35.  
  36. echo ""
  37. echo "Image creation finished:"
  38. date
Add Comment
Please, Sign In to add comment