在include_tasks中的参数传递的列表中附加一个值 - Ansible

时间:2018-06-01 13:03:29

标签: ansible

我试图在参数传递给模块include_tasks中的任务的列表中附加一些值,我的playbook结构看起来像这样。

some-folder/
|
|--- main.yml
|--- subtask.yml

在我的main.yml文件中,我有一个带有一些数字和include_tasks模块的列表,就像这样。

# my_list content is [1, 2, 3, 4]    
- include_tasks: subtask.yml list={{my_list}}

# I'll do something with this list later on other task

我想在my_list内的subtask.yml中添加一些内容,稍后在我的subtask.yml文件中使用此新列表,我已尝试过该模块{{1像下面的例子,但它不像我期望的那样工作..

set_fact

我希望列表在退出- set_fact: list: "{{ list }} + [ 5 ]" 时与[1, 2, 3, 4, 5]类似,但它与在子任务文件中输入的方式相同,列表内容为subtask.yml

我做错了什么?你能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。

使用

等文件的结构
some-folder/
|
|--- tasks/
|      |
|      |--- main.yml
|      |--- subtask.yml
|
|--- vars/
|      |--- main.yml

在我的档案some-folder/vars/main.yml中,我已添加了此内容。

my_list: [1, 2, 3, 4]

我已在some-folder/tasks/main.ymlsome-folder/tasks/subtask.yml中使用此变量,在我的tasks/main.yml中,我将代码更改为此。

- include_tasks: subtask.yml

tasks/subtask.yml我已将代码更改为此内容。

- set_fact:
    my_list: "{{ my_list }} + [ 5 ]"

此解决方案有效