Ansible - 循环遍历列表以指定单个命令的许多参数

时间:2017-07-19 16:16:54

标签: ansible

我想使用Ansible创建一个报告磁盘使用情况统计信息的cronjob。这需要多个--disk-path参数。我需要传入一个列表,遍历并创建一些

的内容

/usr/bin/disk-monitor-script --disk-path={{ item 1 }} --disk-path={{ item 2 }} # etc..

给出[item1, item2, etc..]

行的可变长度列表

使用with_items多次执行命令以创建许多cronjobs是微不足道的,尽管我想避免它。

为了猜测,如何在单个命令中构建一个传递给脚本(给定列表)的参数列表?

1 个答案:

答案 0 :(得分:3)

您可以使用Jinja2 filters将列表加入字符串:

- command: /usr/bin/disk-monitor-script --disk-path={{ my_items | join(' --disk-path=') }}
  vars:
    my_items: [ item1, item2, item3 ]