Ansible检查文件是否由ansible-vault加密

时间:2017-11-05 00:46:37

标签: 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加密?

1 个答案:

答案 0 :(得分:2)

有很多方法可以做到这一点,所有这些都与Ansible和Ansible Vault本身没什么关系。这是一个:

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

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