Мне нужно вызвать скрипт оболочки, который будет возвращать частный IP-адрес ec2 в задаче Ansible. Как только я получаю IP-адрес в переменной private_ip_var
, я хочу добавить эту переменную в шаблон jinja2 для создания файла конфигурации.
Вот что я думаю:
- hosts: all
vars:
inline_variable: 'hello again'
tasks:
- name: Gets the IP of the ec2 instance
command: get_ec2_private_ip.sh <----- shell script to dynamically get the ip of ec2
register: private_ip_var` <------ saving shell return value to this var
tasks:
- name: Inject that private_ip_var into the jinja template
template:
src: src=config.cfg.j2
dest: config.cfg
config.cfg.j2
blah blah
The ip of the ec2 is: {{ private_ip_var }} <------------ THIS IS WHAT I WANT TO ACHIEVE
Variable given as inline - {{ inline_variable }} <------------- DONT CARE ABOUT THIS VAR
вывод - config.cfg
------
blah blah
The ip of the ec2 is: 10-251-50-12 <----------------- THIS IS WHAT I WANT
Variable given as inline - hello again <---------------- DONT CARE ABOUT THIS VAR
Меня не волнует inline_variable
выше; Я забочусь только о private_ip_var
; Как я могу добиться этого с Ansible, чтобы я мог сгенерировать этот файл конфигурации из шаблона jinja2?