2

我需要使用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

4

1 回答 1

2

可能有无数种方法可以做到这一点,但都与 Ansible 和 Ansible Vault 本身无关。这是一个:

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

您还需要--vault-password-file否则 Ansible 将停止处理并等待提示。

于 2017-11-05T01:11:10.710 回答