How to create and use variables with_nested loop in ansible playbook?
Create a ansible config file as ansible.cfg file in your project directory:
[defaults]
inventory = hostsCreate 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
dbserversCreate a file named called as vars_with_nested_loop.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
  vars:
    users_with_items:
      - name: "alice"
        personal_directories:
          - "bob"
          - "carol"
          - "dan"
      - name: "bob"
        personal_directories:
          - "alice"
          - "carol"
          - "dan"
        common_directories:
          - ".ssh"
          - "loops"
  tasks:
    - name: create common users directories using with_nested loop
      file:
        dest: "/home/{{item.0.name}}/{{ item.1 }}"
        state: directory
      with_nested:
        - "{{ users_with_items }}"
        - "{{ common_directories }}"
# three dots indicate the end of a YAML document
... 
							