Ansible 手册:打印一条消息

Del*_*ado 5 yaml ansible

可能以前已经问过这个问题,但还找不到任何有用的东西。

我有这个任务:

 - 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"
Run Code Online (Sandbox Code Playgroud)

如果我执行 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"
Run Code Online (Sandbox Code Playgroud)

我希望此消息在创建文件夹任务中打印,而不是在单独的任务中打印。

如有帮助,将不胜感激

tin*_*ita 8

我建议采用不同的策略:

- win_file:
  ...
  register: create

- debug:
    msg: Folder already exists
  when: create.changed == false
Run Code Online (Sandbox Code Playgroud)

这可能不适用于您的确切用例,但从给定的示例来看它是有意义的。file/win_file已经检查自己是否文件/目录已经存在。

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