i have this list of ansible inventory
servers: - server01 - server02 - server03 - server04
i want to do like this example I want: https://server01:8000;https://server02:8000],https://server03:8000;https://server04:8000
but using set_fact
i have this list of ansible inventory
servers: - server01 - server02 - server03 - server04
i want to do like this example I want: https://server01:8000;https://server02:8000],https://server03:8000;https://server04:8000
but using set_fact
You can use use a Jinja template to generate your desired output:
- hosts: localhost
gather_facts: false
vars:
servers:
- server01
- server02
- server03
- server04
tasks:
- set_fact:
urls: |-
{% for server in servers -%}
https://{{ server }}:8000{% if loop.index % 2 == 0 %}]{% endif %}{% if not loop.last %};{% endif %}
{% endfor %}
- debug:
var: urls
The above playbook will output:
TASK [debug] *******************************************************************
ok: [localhost] => {
"urls": "https://server01:8000;https://server02:8000];https://server03:8000;https://server04:8000]"
}