-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathalias
101 lines (70 loc) · 6.55 KB
/
alias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# shellcheck disable=SC1035,SC1073,SC1020,SC1072
[toplevel]
whoami = sts get-caller-identity --output table
# AMI Owner
ami-owner = !f() { aws ec2 describe-instances --filters Name=image-id,Values=${1} --query 'Reservations[].Instances[].{Owner: Tags[?Key==`owner`].Value | [0],ID:InstanceId}' --ouptput table; }; f
# Decode Authorization Message
de-auth = !f() { aws sts decode-authorization-message --encoded-message ${1} --output text > ~/Downloads/output.json; }; f
# Instance DNS from ID
id-dns = !f() { aws ec2 describe-instances --instance-ids ${1} --query 'Reservations[].Instances[].NetworkInterfaces[].PrivateIpAddresses[].PrivateDnsName' --ouptput table; }; f
# Instance ENI from ID
id-eni = !f() { aws ec2 describe-instances --instance-ids ${1} --query 'Reservations[].Instances[].NetworkInterfaces[].NetworkInterfaceId' --ouptput table; }; f
# Instance Name from Instance ID
id-name = !f() { aws ec2 describe-instances --instance-ids ${1} --query 'Reservations[].Instances[].Tags[?Key==`Name`].Value' --ouptput table; }; f
# Instance KeyName from Instance ID
id-key = !f() { aws ec2 describe-instances --instance-ids ${1} --query 'Reservations[].Instances[].KeyName' --ouptput table; }; f
# Instance ID from DNS Name
dns-id = !f() { aws ec2 describe-instances --filters Name=private-dns-name,Values=${1} --query 'Reservations[].Instances[].InstanceId' --ouptput table; }; f
# Get SG ID from SG Name
sg-id = !f() { aws ec2 describe-security-groups --filters Name=group-name,Values=${1} --query 'SecurityGroups[].GroupId' --ouptput table; }; f
# List SG Rules from SG ID
sg-rules = !f() { aws ec2 describe-security-groups --group-ids ${1} --query 'SecurityGroups[].IpPermissions' --ouptput table; }; f
# Instance DNS from Instance Name
name-dns = !f() { aws ec2 describe-instances --filters Name=instance-state-name,Values=running Name=tag:Name,Values=${1} --query 'Reservations[].Instances[].PrivateDnsName' --ouptput table; }; f
# Instance ID from Instance Name
name-id = !f() { aws ec2 describe-instances --filters Name=instance-state-name,Values=running Name=tag:Name,Values=${1} --query 'Reservations[].Instances[].InstanceId' --ouptput table; }; f
# Instance IP from Instance Name
name-ip = !f() { aws ec2 describe-instances --filters Name=instance-state-name,Values=running Name=tag:Name,Values=${1} --query 'Reservations[].Instances[].{Instance:InstanceId,AZ:Placement.AvailabilityZone,IP:PrivateIpAddress,DNS:PrivateDnsName,Name:Tags[?Key==`Name`]|[0].Value}' --output table; }; f
# List KeyName using Instance Name
name-key = !f() { aws ec2 describe-instances --filters Name=instance-state-name,Values=running Name=tag:Name,Values=${1} --query 'Reservations[].Instances[].KeyName' --ouptput table; }; f
# List of Machines Matching a Name
name-list = !f() { aws ec2 describe-instances --filters Name=instance-state-name,Values=running Name=tag:Name,Values=${1} --query 'Reservations[].Instances[].{Instance:InstanceId,AZ:Placement.AvailabilityZone,IP:PrivateIpAddress,DNS:PrivateDnsName,Name:Tags[?Key==`Name`]|[0].Value}' --output table; }; f
# Instance ID from Instance IP
ip-id = !f() { aws ec2 describe-instances --filters Name=network-interface.addresses.private-ip-address,Values=${1} --query 'Reservations[].Instances[].InstanceId' --ouptput table; }; f
# Instance Name from Private IP
ip-name = !f() { aws ec2 describe-instances --filters Name=network-interface.addresses.private-ip-address,Values=${1} --query 'Reservations[].Instances[].Tags[?Key==`Name`].Value' --output table; }; f
# Instance DNS from Private IP
ip-dns = !f() { aws ec2 describe-instances --filters Name=network-interface.addresses.private-ip-address,Values=${1} --query 'Reservations[].Instances[].NetworkInterfaces[].PrivateIpAddresses[].PrivateDnsName' --output table; }; f
# SecurityGroup ID from Private IP
ip-sgid = !f() { aws ec2 describe-instances --filters Name=network-interface.addresses.private-ip-address,Values=${1} --query 'Reservations[].Instances[].SecurityGroups[].GroupId' --output table; }; f
# Instance Key from Private IP
ip-key = !f() { aws ec2 describe-instances --filters Name=network-interface.addresses.private-ip-address,Values=${1} --query 'Reservations[].Instances[].KeyName' --output table; }; f
# List Image ID for an Instance ID
image-id = ec2 describe-instances --instance-ids $1 --query 'Reservations[].Instances[].ImageId' --output table
# List or Set Your Region
region = !f() { [ $# -eq 1 ] && aws configure set region "$1" || aws configure get region; }; f
# List Network ACLs
net-acls = ec2 describe-network-acls --network-acl-ids $1 --query 'NetworkAcls[].Entries'
# List IAM Access Keys
iam-keys = !f() { for user in $(aws iam list-users --output text | awk '{print $NF}'); do aws iam list-access-keys --user $user --output table; done; }; f
# List All Availability Zones
list-azs = ec2 describe-availability-zones --region $1 --query AvailabilityZones[].ZoneName --output table
# Docker ECR Login
ecr-login = !f() { endpoint=$(aws ecr get-authorization-token --output text --query 'authorizationData[].proxyEndpoint')
passwd=$(aws ecr get-authorization-token --output text --query 'authorizationData[].authorizationToken' | base64 --decode | cut -d: -f2)
echo $passwd| docker login -u AWS --password-stdin $endpoint; }; f
# Instance Size by Name
instance-size = !f() { instances=$(aws ec2 describe-instances --query 'Reservations[].Instances[].InstanceId' --filters "Name=tag:Name,Values='${1}'" --output text)
aws ec2 describe-instances --instance-ids $instances --filters 'Name=instance-state-name,Values=running' --output table \
--query 'Reservations[].Instances[].{Name: Tags[?Key==`Name`].Value | [0],Size:InstanceType,ID:InstanceId}'; }; f
# List VPC Peers
vpc-peers = ec2 describe-vpc-peering-connections --query 'VpcPeeringConnections[].Tags[?Key==`Name`].Value' --output text | xargs -n1 | sort -d
# List EC2 Instances
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`}'
# List EC2 Volumes
ebs-volumes = ec2 describe-volumes --query 'Volumes[].{VolumeId: VolumeId,State: State,Size: Size,Name: Tags[0].Value,AZ: AvailabilityZone}' --output table
# List EC2 Security Groups
open-security-groups = ec2 describe-security-groups --filters "Name=ip-permission.to-port,Values=22" --output table \
--query 'SecurityGroups[?length(IpPermissions[?ToPort==`22` && \
contains(IpRanges[].CidrIp, `0.0.0.0/0`)]) > `0`].{GroupName: GroupName, TagName: Tags[?Key==`Name`].Value | [0]}'