Thank you, Zilla. I got a simpler solution for this question which I posted 
at Stack Overflow <http://stackoverflow.com/a/39657819/553023> wherein I 
didn't have to split vars files. I have had success following it. 

On Saturday, 24 September 2016 00:10:52 UTC+5:30, ZillaYT wrote:
>
> Sorry, the include_vars should be:
>
> - include_vars: "vars/vmname{{ windows_ver }}.yml"
>
>
>
> On Friday, September 23, 2016 at 2:36:58 PM UTC-4, ZillaYT wrote:
>>
>> 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/7ca797b6-8c39-44f0-b952-0075dc4bf056%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to