How to create with_indexed_items loop in python list format

How to create basic loop using with_indexed_items in python list format in ansible playbook?

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

[defaults]
inventory = hosts 

Create a hosts file as hosts in the project 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 named called as with_index-items.yml in your project directory

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

- hosts: all
   tasks:
   - name: Ansible loop with index example
     debug:
       msg: "echo loop index at {{ item[0] }} and value at {{item[1]}}"
     with_indexed_items:
       - "hello1"
       - "hello2"
       - "hello3"
 # three dots indicate the end of a YAML document
 ...


Leave a Reply

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