在Ansible中,如何从yaml文件中打印值?

时间:2015-07-28 14:41:04

标签: ansible

我尝试了以下操作,但我知道它不起作用,因为它显示了文件中的最后一个值。有没有办法从我的YAML文件中item.key建立一个列表?

- name: Install PHP modules
  command: sudo rpm -Uvh {{ rpm_repository }}/aria-{{ item.key }}-{{ item.value.svn_tag }}.rpm --force
  with_dict: deploy_modules_php
  register: php_command_result

- name: set color success
  when: php_command_result|success
  with_dict: deploy_modules_php
  set_fact:
      color="green"
      msg="Successfully installed PHP RPMs! {{ item.key }}"

在Hipchat中寻找类似的东西(一旦我可以开始工作,我会处理格式化)。

Successfully installed PHP RPMs! module1 module2 module3

我明白了......

"Successfully installed PHP RPMs! module3

1 个答案:

答案 0 :(得分:0)

注册变量php_command_result应该包含一组所有项目,其中每个项目应具有changed等嵌套属性,以防任务失败failed属性。

这很难做到这一点,所以这可能不会立即起作用:

Successfully installed PHP RPMs! {{ php_command_result.results | rejectattr("failed") | map(attribute='item') | join(', ') }}

如果它不起作用,请发布php_command_result的完整输出。