以下是一个使用Ansible在每次迭代中构建对象数组的代码示例:
---
- name: Build object array in each iteration
hosts: localhost
gather_facts: False
vars:
object_list: []
tasks:
- name: Loop over iterations
ansible.builtin.include_tasks: loop_tasks.yml
loop:
- { name: 'Object 1', property1: 'Value 1' }
- { name: 'Object 2', property1: 'Value 2' }
- { name: 'Object 3', property1: 'Value 3' }
loop_control:
loop_var: object
- name: Print object array
debug:
var: object_list
在上面的代码中,我们使用了Ansible的循环控制指令loop
来迭代一个包含对象属性的列表。在每次迭代中,我们使用include_tasks
指令来包含一个单独的任务文件loop_tasks.yml
。在这个任务文件中,我们将对象属性添加到object_list
变量中。
下面是loop_tasks.yml
文件的内容:
---
- name: Build object array
set_fact:
object_list: "{{ object_list + [object] }}"
在loop_tasks.yml
中,我们使用set_fact
模块将每次迭代中的对象添加到object_list
变量中。使用+
运算符可以将新的对象添加到现有的对象数组中。
运行上述Ansible playbook后,你将会看到在每次迭代中构建的对象数组通过debug
模块打印出来。