Я пытаюсь добавить 'ansible_hostname' в качестве префикса к каждому элементу в массиве, но получаю два разных результата.
- когда массив stati c без каких-либо переменных, тогда имя хоста получает добавлено.
- когда в массиве объявлена переменная, то факт 'ansible_hostname' не разрешается и передается в виде строки.
Я объявил массив с переменной, нужна помощь в передаче имени хоста без использования циклов.
Сценарий 1:
- name: test_array
set_fact:
test_array: ["This is test1 {{ansible_hostname}}", "This is test2"]
- set_fact:
test_fact: "{{ test_array | map('regex_replace', '^(.*)$', ' {{ansible_hostname}}, \\1') | join('\n') }}"
output:
"test_fact": " {{ansible_hostname}}, This is test1 control\n {{ansible_hostname}}, This is test2"
Сценарий 2:
- name: test_array
set_fact:
test_array: ["This is test1", "This is test2"]
- set_fact:
test_fact: "{{ test_array | map('regex_replace', '^(.*)$', ' {{ansible_hostname}}, \\1') | join('\n') }}"
output:
"test_fact": " host, This is test1 control\n host, This is test2"