Encryption Ansible检查文件是否由Ansible vault加密

Encryption Ansible检查文件是否由Ansible vault加密,encryption,ansible,ansible-vault,Encryption,Ansible,Ansible Vault,我需要使用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加密路径/到/文件 什么时候

我需要使用
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加密路径/到/文件
什么时候:

在条件语句中是否有逻辑可用于检查文件是否已被ansible vault加密?

执行此操作的方法可能有很多种,但都与ansible和ansible vault本身无关。这里有一个:

- local_action: shell
    head -1 {{ file }} | grep -v -q \$ANSIBLE_VAULT && ansible-vault encrypt {{ file }}

您还需要
--vault密码文件
,否则Ansible将停止处理并等待提示。

谢谢!是的,我已经像你说的那样设置了保险库密码文件。在
grep-v-q\$ANSIBLE\u VAULT
中,您只是在检查文件是否以文本
$ANSIBLE\u VAULT
开头?检查stdin中的行是否没有
$ANSIBLE\u VAULT
字符串。哦,是的,只有在没有字符串时才加密。我知道这比我想象的要简单……我以为ansible vault为此提供了一些内置功能。谢谢