Ansible剧本:打印一条消息

时间:2018-12-16 17:22:55

标签: ansible yaml

这可能是以前问过的,但找不到任何有用的东西。

我有这个任务:

 - name: Create folder if not exists
   win_file:
     path: '{{ folder }}'
     state: directory
   when: my_dir.stat.exists == false << this stat has been previously created

 - Debug: msg"folder already exists"

如果我执行此,则输出为Ans。塔看起来像这样(该文件夹已经存在):

TASK [playbook : Create folder if not exists] ***
17:51:00
23
skipping: [host]


TASK [playbook : debug]    ***************************************
18:16:07
26
ok: [host] => {
27
"msg": "Folder already exists"

我希望此味精在“创建文件夹”任务中而不是在单独的任务中打印。

将不胜感激

1 个答案:

答案 0 :(得分:1)

我建议采取另一种策略:

- win_file:
  ...
  register: create

- debug:
    msg: Folder already exists
  when: create.changed == false

这可能在您的确切用例中不起作用,但是从给定的示例来看,这是有道理的。 file / win_file已经在检查文件/目录是否存在。

关于您的实际问题:我认为不可能将两个任务(win_filedebug)合而为一。 如果您打算避免两次写条件,则可以使用块:https://docs.ansible.com/ansible/latest/user_guide/playbooks_blocks.html