Skip to content

Instantly share code, notes, and snippets.

@sumitsaiwal
Created November 17, 2017 05:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sumitsaiwal/adc6c3b7ce77c31e16ec8a3bc23d4fa7 to your computer and use it in GitHub Desktop.
Save sumitsaiwal/adc6c3b7ce77c31e16ec8a3bc23d4fa7 to your computer and use it in GitHub Desktop.
instance_id=$(aws ec2 run-instances --region us-east-1 --key $USER --instance-type t1.micro --image-id ami-d9a98cb0 --output text --query 'Instances[*].InstanceId')
echo instance_id=$instance_id
while state=$(aws ec2 describe-instances --instance-ids $instance_id --output text --query 'Reservations[*].Instances[*].State.Name'); test "$state" = "pending"; do
sleep 1; echo -n '.'
done; echo " $state"
ip_address=$(aws ec2 describe-instances --instance-ids $instance_id --output text --query 'Reservations[*].Instances[*].PublicIpAddress')
echo ip_address=$ip_address
aws ec2 get-console-output --instance-id $instance_id --output text |
perl -ne 'print if /BEGIN SSH .* FINGERPRINTS/../END SSH .* FINGERPRINTS/'
ssh ubuntu@$ip_address
aws ec2 terminate-instances --instance-ids "$instance_id" --output text --query 'TerminatingInstances[*].CurrentState.Name'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment