After several weeks searching for information and getting it, I give you the playbook. Feel free to answer to improve it or show me the faults
After several weeks searching for information and getting it, I give you the playbook. Feel free to answer to improve it or show me the faults --- - hosts: "localhost" user: root become: root gather_facts: True tasks: - name: DEFINE VARIABLES set_fact: MEMORIA_MB: "{{ (MEMORIA | int) * 1024 }}" tags: - auto - name: CHECK FOR REQUIRED VARIABLES fail: msg="Check the parameters passed" when: VCENTER is not defined or NOMBRE is not defined or DOMAIN_VCENTER is not definded or MEMORIA_MB is not definded or PLANTILLA is not definded or CLUSTER is not definded or CPU is not definded or HDD is not definded or REDDATOS is not definded or IPDATOS is not definded or MASKDATOS is not definded or GWDATOS is not definded or REDGESTION is not definded or IPGESTION is not definded or MASKGESTION is not definded or GWGESTION is not definded or DATACENTER is not definded - name: CREATE A VMWARE FROM TEMPLATE vmware_guest: annotation: "This vmware has been deployed by Ansible" hostname: '{{ VCENTER }}' username: '{{ DOMAIN_VCENTER }}\root' password: 'pass' validate_certs: no datacenter: '{{ DATACENTER }}' cluster: '{{ CLUSTER }}' name: '{{ NOMBRE }}' template: '{{ PLANTILLA }}' state: poweredon folder: '/{{ DATACENTER }}/vm' disk: - autoselect_datastore: "True" size_gb: '{{ HDD }}' type: thin hardware: memory_mb: '{{ MEMORIA_MB }}' num_cpus: '{{ CPU }}' hotadd_cpu: True hotremove_cpu: True hotadd_memory: True scsi: paravirtual networks: - name: '{{ REDDATOS }}' ip: '{{ IPDATOS }}' netmask: '{{ MASKDATOS }}' gateway: '{{ GWDATOS }}' - name: '{{ REDGESTION }}' ip: '{{ IPGESTION }}' netmask: '{{ MASKGESTION }}' gateway: '{{ GWGESTION }}' customization: #ALL domain: '{{ DOMINIO }}.LOCALDOMAIN' hostname: '{{ NOMBRE }}' dns_servers: - 8.8.8.8 - 9.9.9.9 #WIN orgname: 'EMPRESA' joindomain: '{{ DOMINIO }}.LOCALDOMAIN' domainadmin: 'root' domainadminpassword: "SUPERPASS" password: TEMPORAL autologon: True runonce: - 'C:\Windows\System32\cmd.exe /c "(echo rescan & echo select volume 2 & echo extend ) | diskpart"' - 'c:\windows\system32\wbem\wmic.exe useraccount where name="administrator" rename SUPERUSER' - 'c:\windows\system32\shutdown.exe -r -t 1 -c "deploy"' wait_for_ip_address: yes when: not ansible_check_mode async: 1000 poll: 0 register: deploy - name: WAIT FOR THE VM {{ NOMBRE }} CREATION TO FINISH async_status: jid={{ deploy.ansible_job_id }} until: deploy_result.finished retries: 60 delay: 30 delegate_to: localhost register: deploy_result - name: WAIT CUSTOMIZATION shell: export GOVC_USERNAME='localdomain\root' ; export GOVC_PASSWORD='SUPERPASS'; export GOVC_INSECURE='1'; export GOVC_URL=https://VPHERE:443; /usr/local/bin/govc events -type CustomizationSucceeded -l=true /CONPRO/vm/{{ NOMBRE }} register: result until: result.stdout.find("CustomizationSucceeded") != -1 retries: 50 delay: 10 delegate_to: localhost -- 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 ansible-project+unsubscr...@googlegroups.com. To post to this group, send email to ansible-project@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/60b02e4e-d6de-46da-a628-dbff6e43b401%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.