Steps needed
cp metadata.json ~/.metadata.json
- Either add to script and source, or add to bashrc and export
source <(jq -r "to_entries|map(\"\(.key)=\(.value|tostring)\")|.[]" ~/.metadata.json)
region=$(jq -r ".aws.region" ~/.metadata.json)
vpcID=$(aws ec2 describe-vpcs --region ${region} --filter "Name=tag:Name,Values=$infraID-vpc" --query "Vpcs[0].VpcId")
subnetID=$(aws ec2 describe-subnets --region ${region} --filter "Name=vpc-id,Values=$vpcID" --filter "Name=tag:Name,Values=$infraID-public-*" --query "Subnets[1].SubnetId")
imageID=`aws ec2 describe-instances --region ${region} --filters "Name=tag:Name,Values=*$infraID*" --query 'Reservations[1].Instances[*].[ImageId]' --output text`
- Can add to bashrc to use for quick ec2 describe* commands
function awsocp {
region=$(jq -r ".aws.region" ~/.metadata.json)
source <(jq -r "to_entries|map(\"\(.key)=\(.value|tostring)\")|.[]" ~/.metadata.json)
aws ec2 describe-${@} --region ${region} --filters "Name=tag:Name,Values=$infraID-*"
}
# VPC
aws ec2 describe-vpcs --region ${region} --filter "Name=tag:Name,Values=$infraID-*"
aws ec2 describe-vpcs --region ${region} --filter "Name=tag:Name,Values=$infraID-*" --query "Vpcs[0].VpcId"
# Elastic IPs
aws ec2 describe-addresses --region ${region} --filters "Name=tag-value,Values=$infraID-*"
# Instances
aws ec2 describe-instances --region ${region} --filters "Name=tag:Name,Values=*$infraID-*"
aws ec2 describe-instances --region ${region} --filters "Name=tag:Name,Values=$infraID-*" --query "Reservations[*].Instances[*].[InstanceId]" --output text
aws ec2 describe-instances --region ${region} --filters Name=vpc-id,Values=$vpcID --query 'Reservations[*].Instances[*].{Id:InstanceId,Pub:PublicIpAddress,Pri:PrivateIpAddress,State:State.Name}' --output table
# Others using bashrc function from above
awsocp volumes
awsocp subnets
awsocp images
awsocp security-groups
# All resources
aws resourcegroupstaggingapi get-resources --region ${region} --tag-filters "Key=kubernetes.io/cluster/$infraID"
# ELB
aws elb describe-load-balancers --region ${region} --query "LoadBalancerDescriptions[?VPCId==\`$vpcID\`]"