Advertisement
Guest User

Untitled

a guest
Feb 28th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. set -eu
  4.  
  5. if [ "$#" -lt "2" ]; then
  6. echo >&2 "Usage: h-ssh <ENV> <APP> [SSH_ARGS]"
  7. exit 1
  8. fi
  9.  
  10. ENV=$1
  11. APP=$2
  12. shift 2
  13.  
  14. pickhost() {
  15. local app=$1
  16. local env=$2
  17. aws ec2 describe-instances \
  18. --filters "Name=tag:application,Values=${app}" \
  19. "Name=tag:environment,Values=${env}" \
  20. "Name=instance-state-name,Values=running" \
  21. --query "Reservations[0].Instances[0].PublicDnsName" \
  22. --output text
  23. }
  24.  
  25. if ! HOSTNAME=$(pickhost "$APP" "$ENV"); then
  26. echo >&2 "Error running awscli! Aborting."
  27. exit 1
  28. elif [ "$HOSTNAME" = "None" ]; then
  29. echo >&2 "Couldn't find any matching hosts! Is that the right application name?"
  30. exit 1
  31. fi
  32.  
  33. ssh \
  34. -l ec2-user \
  35. -o UserKnownHostsFile=/dev/null \
  36. -o StrictHostKeychecking=no \
  37. "$HOSTNAME" \
  38. "$@"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement