Ansible:从一组主机获取一个变量

Ansible:从一组主机获取一个变量,ansible,Ansible,我有一组服务器,如: [mygroup] server1 server2 server3 ansible中是否有一种方法可以使变量成为组mygroup中所有主机连接的结果 例如: server1:80,server2:80,server3:80 你可以这样做: - hosts: localhost gather_facts: false tasks: - debug: msg: "{{ groups.mygroup|map('regex_replace', '

我有一组服务器,如:

[mygroup]
server1
server2
server3
ansible中是否有一种方法可以使变量成为组mygroup中所有主机连接的结果

例如:

server1:80,server2:80,server3:80

你可以这样做:

- hosts: localhost
  gather_facts: false
  tasks:
    - debug:
        msg: "{{ groups.mygroup|map('regex_replace', '(.*)', '\\1:80')|list|join(',') }}"
如果我的资源清册中有主机
host0
host1
host2
,这将产生:

TASK [debug] **********************************************************************************
ok: [localhost] => {
    "msg": "host2:80,host1:80,host0:80"
}