Quantcast
Channel: Active questions tagged amazon-ec2 - Stack Overflow
Viewing all articles
Browse latest Browse all 29245

How to get dynamic shell variable with Ansible playbook and jinja2 templates

$
0
0

I need to call a shell script that will return the private ip of an ec2 in an Ansible task. Once I get the IP in a variable private_ip_var I want to inject that variable in a jinja2 template to generate a config file.

Here's what I'm thinking:

- 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

output - 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

I don't care about inline_variable above; I only care about private_ip_var; how can I achieve this with Ansible so that i can generate that config file from a jinja2 template?


Viewing all articles
Browse latest Browse all 29245

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>