How to create inline dictionary variables?

How to create inline dictionary variables?

Create a ansible config file as ansible.cfg file in your directory:

[defaults]  
inventory = hosts

Create a hosts file as hosts in the same directory:

[webservers]
ansnode1 ansible_ssh_host=192.168.56.202 ansible_python_interpreter=/usr/bin/python   
ansnode2 ansible_ssh_host=192.168.56.203 ansible_python_interpreter=/usr/bin/python   

[webservers:vars]
ansible_port=22  
http_port=8080  


[dbservers]
ansnode3 ansible_ssh_host=192.168.56.204 ansible_python_interpreter=/usr/bin/python    
ansnode4 ansible_ssh_host=192.168.56.205 ansible_python_interpreter=/usr/bin/python   

[dev:children]
webservers  
dbservers   

Create a file called as inline_dictionary_variables_playbook.yml :

---
# YAML documents begin with the document separator ---
# The minus in YAML this indicates a list item. The playbook contains a list
# of plays, with each play being a dictionary

- name: 'create and access variables inside the playbook'
  # Target: where our play will run and options it will run with
  hosts: ansnode1
  gather_facts: false
    # variable: variables that will apply to the play, on all target systems
  vars:
    inline_color_list:
      [ black, red, green]
   # Task: the list of tasks that will be executed within the playbook
  tasks:
    - name: Displaying color list
      debug:
        msg: "{{ inline_color_list }}"
    - name: Displaying color list first item with dot notation
      debug:
        msg: {{ inline_color_list.0 }}"
    - name: Displaying color list first item with brackets notation
      debug:
        msg: "{{ inline_color_list[1] }}"
# Three dots indicate the end of the YAML document
...

Full Source Code Also Available in : https://github.com/tamiltutera/example-ansible-variables

Leave a Reply

Your email address will not be published. Required fields are marked *