dotfiles/bin/ansible-vault-show-inline

29 lines
626 B
Bash
Executable File

#!/bin/bash
# Strict mode
set -euo pipefail
IFS=$'\n\t'
if [[ $# -eq 0 ]] || [[ $1 == "--help" ]]; then
echo "Usage: $(basename $0) FILE VARIABLE"
echo
echo "Decrypts ansible-vault encrypted inline variable VARIABLE from FILE."
echo
echo "Example: $(basename $0) roles/common/defaults.main.yml user_root_password"
exit 1
elif [[ $# -lt 2 ]]; then
echo "Error: Missing arguments." >&2
exit 1
fi
VAR_FILE=$1
VAR_NAME=$2
if [[ ! -f $VAR_FILE ]]; then
echo "Error: Variable file '$VAR_FILE' does not exist!" >&2
exit 1
fi
ansible localhost -m debug -a "var=$VAR_NAME" -e "@$VAR_FILE"