#! /bin/bash # # Usage: # FindInstanceInAccount.sh if [ $# -ne 2 ]; then echo Usage: $0 " " exit 1 fi # TODO: Sanitize search string SEARCHSTRING=$1 PROFILE=$2 # Cool, grab regions dynamically REGIONS=$(aws ec2 describe-regions --profile $PROFILE --output text --query 'Regions[*].RegionName') for region in $REGIONS; do ( # Search by instance ID: aws ec2 describe-instances --profile $PROFILE --region $region --instance-id $SEARCHSTRING &> /dev/null && \ echo "$SEARCHSTRING is in $region under profile $PROFILE" # Search by Name: aws ec2 describe-instances --profile $PROFILE --region $region --filter "Name=tag:Name,Values=$SEARCHSTRING" &> /dev/null && \ echo "$SEARCHSTRING is in $region under profile $PROFILE" ) & done 2> /dev/null wait