packaging stuff up

This commit is contained in:
Noah Masur
2025-01-30 14:48:17 -05:00
parent 0ebd0bac2c
commit b123ae3e69
19 changed files with 135 additions and 89 deletions

View File

@ -0,0 +1,22 @@
#!/usr/bin/env bash
# Retrieve list of AWS instances
# Use enter to jump into their sessions with SSM
# Specify AWS_PROFILE and AWS_REGION before running this script
aws ec2 describe-instances \
--filters "Name=instance-state-name,Values=running" |
jq -r \
'.Reservations[]
| .Instances[]
| .InstanceId + " - " +
(.PrivateIpAddress // "n/a") + " - " +
(.PublicIpAddress // "n/a") + " - " +
(.Tags // [] | from_entries | .Name // "n/a")' |
fzf \
--height 100% \
--layout reverse \
--header $'Press Enter to start SSM session\nInstance ID - Private IP - Public IP - Name' \
--preview "aws ec2 describe-instances --instance-ids \"\$(echo {} | cut -d' ' -f1)\" | jq -r '.Reservations[].Instances[0]'" \
--bind "enter:become(aws ssm start-session --target \$(echo {} | cut -d' ' -f1))"

View File

@ -0,0 +1,12 @@
{ pkgs, ... }:
pkgs.writeShellApplication {
name = "aws-ec2";
runtimeInputs = [
pkgs.awscli2
pkgs.jq
pkgs.fzf
pkgs.ssm-session-manager-plugin
];
text = builtins.readFile ./aws-ec2.sh;
}