在Ansible中,可以使用set_fact
模块和with_items
循环来构建一个变量,该变量的值来自组中每个成员的一个值。
以下是一个示例代码:
- name: 获取组成员的值并构建变量
hosts: your_group_name
tasks:
- name: 获取组成员的值
shell: echo "value_of_{{ inventory_hostname }}"
register: member_value
- name: 构建变量
set_fact:
combined_variable: "{{ combined_variable | default([]) + [item.stdout] }}"
with_items: "{{ member_value.results }}"
在上述示例中,your_group_name
是你的组名,value_of_{{ inventory_hostname }}
是你想要获取的每个成员的值。combined_variable
是最终构建的变量名。
通过循环遍历member_value.results
,将每个成员的值存储在combined_variable
中。最终,combined_variable
将包含组中每个成员的值。
请注意,上述示例假设你已经在Ansible中正确定义了组和主机。如果你还没有定义组,请确保在/etc/ansible/hosts
文件中定义了组和相应的主机。