我需要使用ansible-vault
加密文件。我想仅在文件尚未由ansible vault加密时才执行加密。我试图在我的Ansible剧本中使用这个任务:
- local_action: command
ansible-vault encrypt path/to/file
when: <when file is not already encrypted by ansible-vault>
是否在条件语句中使用逻辑来检查文件是否已由ansible-vault
加密?
答案 0 :(得分:2)
有很多方法可以做到这一点,所有这些都与Ansible和Ansible Vault本身没什么关系。这是一个:
- local_action: shell
head -1 {{ file }} | grep -v -q \$ANSIBLE_VAULT && ansible-vault encrypt {{ file }}
您还需要--vault-password-file
否则Ansible将停止处理并等待提示。