From fea79054de944f065c591749b85023a70358d729 Mon Sep 17 00:00:00 2001 From: MahaGamal Date: Fri, 13 Dec 2019 10:58:35 +0200 Subject: [PATCH] Added list instances alias --- alias | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/alias b/alias index fc01acd..bed51f2 100644 --- a/alias +++ b/alias @@ -16,12 +16,36 @@ create-assume-role = }"; }; f +#List all instance +list-instances = + !f() { + if [ -n "$1" ];then + echo "Filtering by \`$1\`" + fi + echo "Filtering by region \`$1\`" + for region in $(aws ec2 describe-regions --query "Regions[*].RegionName" --output text | tr "\t" "\n" | grep "$1") + do + echo "\nListing All Instances in region:'$region'..." + aws ec2 describe-instances --region $region \ + --output table \ + --query "Reservations[*].Instances[*].{ + Instance:InstanceId, + Type:InstanceType, + AZ:Placement.AvailabilityZone, + KeyName:KeyName, + Name:Tags[?Key==\`Name\`]|[0].Value, + IP:PublicIpAddress, + State:State.Name + }" + done + }; f running-instances = ec2 describe-instances \ --filter Name=instance-state-name,Values=running \ --output table \ --query 'Reservations[].Instances[].{ID: InstanceId,Hostname: PublicDnsName,Name: Tags[?Key==`Name`].Value | [0],Type: InstanceType, Platform: Platform || `Linux`}' + ebs-volumes= ec2 describe-volumes \ --query 'Volumes[].{VolumeId: VolumeId,State: State,Size: Size,Name: Tags[0].Value,AZ: AvailabilityZone}' \ --output table