Files
dotfiles/zsh/.local/share/zsh/functions/aws-get-secret
2025-11-14 14:54:54 +00:00

26 lines
883 B
Plaintext

aws-get-secret () {
local secret_id="${1}"
if [[ -z "$secret_id" ]]; then
secret_id=$(aws secretsmanager list-secrets \
| jq -r '.SecretList | sort_by(.Name) | .[] | [.Name,.LastChangedDate] | @tsv' \
| awk -F'\t' '{
full_name = $1;
truncated_name = substr($1,1,30);
split($2, date_parts, "T");
# Output: full_name (for return), truncated_name (for display), date (for display)
printf "%s\t%-30s\t%s\n", full_name, truncated_name, date_parts[1]
}' \
| fzf \
--header="$(printf '%-30s\t%s\n' 'NAME' 'LAST_CHANGED_DATE')" \
--delimiter='\t' \
--with-nth=2,3 \
| awk '{print $1}') \
[[ -z "$secret_id" ]] && return 1
fi
echo "Retrieving secret: $secret_id" >&2
aws secretsmanager get-secret-value --secret-id "$secret_id" --query SecretString --output text
}