В настоящее время я пишу небольшую Ansible пьесу, работа которой заключается в добавлении дополнительного домена в список поиска в /etc/resolv.conf.
Второй домен, добавляемый в список поиска. должен содержать часть имени хоста целевых хостов. Я получаю имя хоста каждого из целевых хостов во время выполнения playbook, используя переменную magi c {{инвентарь_хоста}}.
Затем мне нужно извлечь символы 4 - 6 из {{инвентарь_имя}} (скажем, «xyz»), так что вторым доменом, добавляемым в список поиска, будет xyz.foo.bar. В bash это было бы получено с чем-то вроде:
SERVER=$('hostname':3:3)
env=${SERVER:3:3}
... и переменная 'env' будет равна 'xyz'.
Книга воспроизведения работает так долго поскольку 'xyz' определяется вручную.
Я знаю, что Ansible имеет фильтры регулярных выражений, которые могут помочь с чем-то вроде этого, однако я не мог понять регулярное выражение, которое делает то, что мне нужно.
Для полноты картины я попробовал нечто подобное в ansible:
{{ inventory_hostname|3:3 }}
Любая помощь будет принята с благодарностью.