Ansible - Create virtual machine
file name : create_vm.yml
gather_facts: true
connection: local
user: remote
sudo: true
vars_prompt:
- name: "vcenter_hostname"
prompt: "Enter vcenter hostname"
private: no
default: "10.10.1.100"
- name: "vcenter_user"
prompt: "Enter vcenter username : administrator@vsphere.local"
private: no
- name: "vcenter_pass"
prompt: "Enter vcenter password : secretpassword "
private: yes
- hosts: all
vars:
datacenter: 'poc-Datacenter'
esxi_host: 'pocvxrailesx1.example.com'
notes: 'Created by Syed Sadat Ali'
tasks:
- vsphere_guest:
vcenter_hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_user }}"
password: "{{ vcenter_pass }}"
guest: "{{ inventory_hostname }}"
state: present
vm_extra_config:
notes: "{{ notes }}"
vm_disk:
disk1:
size_gb: "{{ os_disk }}"
type: thin
datastore: "{{ datastore }}"
disk2:
size_gb: "{{ disk1 }}"
type: thin
datastore: "{{ datastore }}"
disk3:
size_gb: "{{ disk2 }}"
type: thin
datastore: "{{ datastore }}"
vm_nic:
nic1:
type: e1000
network: "{{ network1 }}"
network_type: dvs
nic2:
type: e1000
network: "{{ network2 }}"
network_type: dvs
nic3:
type: e1000
network: "{{ network3 }}"
network_type: dvs
nic4:
type: e1000
network: "{{ network4 }}"
network_type: dvs
nic5:
type: vmxnet
network: "{{ network5 }}"
network_type: dvs
nic6:
type: vmxnet
network: "{{ network6 }}"
network_type: dvs
nic7:
type: vmxnet
network: "{{ network7 }}"
network_type: dvs
nic8:
type: vmxnet
network: "{{ network8 }}"
network_type: dvs
vm_hardware:
memory_mb: "{{ memory }}"
num_cpus: "{{ cpucount }}"
osid: "{{ osid }}"
scsi: LSI
esxi:
datacenter: "{{ datacenter }}"
hostname: "{{ esxi_host }}"
Comments
Post a Comment