I think I know what you're after. Try this.

Have two files in ../roles/vms/vars, namely,

*../roles/vms/vars/vmname81.yml*
---
windows_vms:
  - Client1
  - Client2
  - Client3


...and ...

*../roles/vms/vars/vmnames10.yml*
---
windows_vms:
  - Client4
  - Client5

Then your role will be this. Note include_vars line, and the "with_items" 
change

*../roles/vms/tasks/main.yml*
---
# To Create VMs on the VMware vCenter Server
  - include_vars: "vars/windows{{ windows_ver }}.yml"

  - name: Creation of Windows 8.1 VMs
    vsphere_guest:
      vcenter_hostname: "name"
      guest: "{{ item }}"
      from_template: yes
      template_src: "templatename"
      validate_certs: no
      esxi:
        datacenter: dc
        hostname: hname
    with_items: "{{ windows_vms }}"



Then

*playbook.yml*
---
# To Create VMs on the VMware vCenter Server
- hosts: localhost
  name: Creation of Windows 8.1 VMs
  roles:
    - { role: vms, windows_ver: 81 } # to create the windows in 
vars/windows81.yml
    - { role: vms, windows_ver: 10 } # to create the windows in 
vars/windows10.yml




Make sense?


On Friday, September 23, 2016 at 5:25:29 AM UTC-4, Chethan S wrote:
>
> I am in the process of migrating to Ansible roles model and I have the 
> following structure - 
>
> *../roles/vms/tasks/main.yml*
> ---
> # To Create VMs on the VMware vCenter Server
>   - name: Creation of Windows 8.1 VMs
>     vsphere_guest:
>       vcenter_hostname: "name"
>       guest: "{{ item }}"
>       from_template: yes
>       template_src: "templatename"
>       validate_certs: no
>       esxi:
>         datacenter: dc
>         hostname: hname
>     with_items: "{{ vmname81 }}"
>
> *../roles/vms/vars/main.yml*
> ---
> vmname81:
>   - Client1
>   - Client2
>   - Client3
>
>
> vmname10:
>   - Client4
>   - Client5
>
>
> *playbook.yml*
> ---
> # To Create VMs on the VMware vCenter Server
> - hosts: localhost
>   name: Creation of Windows 8.1 VMs
>   roles:
>     - { role: vmcreation }
>
> As you can see in the playbook, I am trying to create Windows 8.1 VMs and 
> I am unable to figure out how to pass the *vmname81* in the roles for the 
> creation of 8.1 VMs. I am also interested to know if this can be done in a 
> better way.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/615b47c3-7c0f-4a31-a3e4-276206dee188%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to