Skip to content

Commit dec2eab

Browse files
[Add] - add function get all security group inbound rules of an ec2
1 parent 4ea314b commit dec2eab

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
aws_cli_results
22
services/tmp.sh
33
.DS_Store
4-
aws_cli_inputs
4+
aws_cli_inputs
5+
.idea

services/ec2.sh

+7
Original file line numberDiff line numberDiff line change
@@ -226,3 +226,10 @@ aws_ec2_get_credential_from_metadata_instruction() {
226226
aws_ec2_get_instance_type_spect_instruction() {
227227
open https://instances.vantage.sh
228228
}
229+
230+
aws_ec2_get_security_group_inbound_rules_with_hint() {
231+
local ec2_instance_id=$(local_aws_ec2_instance_id_peco_menu)
232+
local list_security_group=$(aws ec2 describe-instances --query "Reservations[].Instances[0].SecurityGroups[].GroupId" --instance-id "$ec2_instance_id" | tr '\t' ' ' )
233+
echo -e "List Security Groups: " $list_security_group "\n"
234+
aws ec2 describe-security-groups --group-ids $list_security_group | jq -r '.SecurityGroups[] | {GroupName} as $g | .IpPermissions[] | {FromPort} as $f | {ToPort} as $p | if (.IpRanges | length ) > 0 then (.IpRanges[] | {GroupName: $g.GroupName, CidrIp, FromPort: $f.FromPort, ToPort: $p.ToPort}) else(.UserIdGroupPairs[] as $ug | {GroupName: $g.GroupName, CidrIp: $ug.GroupId, FromPort: $f.FromPort, ToPort: $p.ToPort}) end' | jq -r '(. | [.GroupName, .CidrIp, .FromPort, .ToPort]) | @tsv' | awk 'function printline() { for(i=0;i<88;i++) printf "-"; printf "\n" } BEGIN {printline(); printf("| %-35s | %-20s | %-10s | %-10s |\n", "GroupName", "CidrIp", "FromPort", "ToPort"); printline()} {printf("| %-35s | %-20s | %-10s | %-10s |\n", $1, $2, $3, $4)} END {printline()}'
235+
}

0 commit comments

Comments
 (0)