Files
dotfiles/bin/terraform-get-targets
2024-05-27 19:24:34 +02:00

25 lines
619 B
Bash
Executable File

#!/usr/bin/env bash
# Stolen from https://devops.stackexchange.com/a/8984 and adapted to my use case
if (( $# == 0 )) ; then
echo "Missing file input arguments"
exit 1
fi
for FILE in "$@"
do
RESOURCE=$(sed -n 's/^resource "\([^"]*\)" "\([^"]*\)".*/-target=\1.\2 /gp' "$FILE")
MODULE=$(sed -n 's/^module "\([^"]*\)".*/-target=module.\1 /gp' "$FILE")
if [[ -z "$RESOURCE" ]] && [[ -z "$MODULE" ]]; then
echo "Cannot detect terraform resource and module in $FILE"
exit 1
fi
if [[ -n "$RESOURCE" ]]; then
echo -e $"$RESOURCE"
fi
if [[ -n "$MODULE" ]]; then
echo -e $"$MODULE"
fi
done