diff --git a/ESXi/ansible/ansible.cfg b/ESXi/ansible/ansible.cfg new file mode 100644 index 0000000..d601d7e --- /dev/null +++ b/ESXi/ansible/ansible.cfg @@ -0,0 +1,2 @@ +[defaults] +inventory = inventory.yml diff --git a/ESXi/ansible/dc/tasks/main.yml b/ESXi/ansible/dc/tasks/main.yml new file mode 100644 index 0000000..6ccbcff --- /dev/null +++ b/ESXi/ansible/dc/tasks/main.yml @@ -0,0 +1,41 @@ +--- + +- name: Hostname -> DC + win_hostname: + name: dc + register: res + +- name: Reboot + win_reboot: + when: res.reboot_required + +- name: Install git + win_chocolatey: + name: git + state: present + +- name: Check if existing DetectionLab directory + win_stat: + path: 'c:\DetectionLab' + register: dir + +- name: Git clone Detectionlab + win_shell: git clone https://github.com/clong/DetectionLab.git + args: + chdir: 'c:\' + when: not dir.stat.exists + +- name: Copy scripts to c:\vagrant + win_shell: Copy-Item -Recurse c:\DetectionLab\Vagrant c:\vagrant + +- name: Provision + win_shell: .\\provision.ps1 + args: + chdir: 'c:\vagrant\scripts' + +- name: reboot server + win_reboot: + msg: "Installing AD. Rebooting..." + pre_reboot_delay: 15 + reboot_timeout: 600 + post_reboot_delay: 420 diff --git a/ESXi/ansible/detectionlab.yml b/ESXi/ansible/detectionlab.yml new file mode 100644 index 0000000..51ed6d5 --- /dev/null +++ b/ESXi/ansible/detectionlab.yml @@ -0,0 +1,4 @@ +--- +- hosts: dc + roles: + - dc diff --git a/ESXi/ansible/group_vars/all.yml b/ESXi/ansible/group_vars/all.yml new file mode 100644 index 0000000..db136d8 --- /dev/null +++ b/ESXi/ansible/group_vars/all.yml @@ -0,0 +1,6 @@ +ansible_user: vagrant +ansible_password: vagrant +ansible_port: 5985 +ansible_connection: winrm +ansible_winrm_transport: basic +ansible_winrm_server_cert_validation: ignore diff --git a/ESXi/ansible/inventory.yml b/ESXi/ansible/inventory.yml new file mode 100644 index 0000000..125e693 --- /dev/null +++ b/ESXi/ansible/inventory.yml @@ -0,0 +1,4 @@ +--- +dc: + hosts: + 192.168.3.189: diff --git a/ESXi/main.tf b/ESXi/main.tf index 3d09234..3ee951b 100644 --- a/ESXi/main.tf +++ b/ESXi/main.tf @@ -47,8 +47,14 @@ resource "esxi_guest" "dc" { } network_interfaces { virtual_network = var.nat_network + mac_address = "00:50:56:a1:b1:c3" + nic_type = "e1000" + } + network_interfaces { + virtual_network = var.hostonly_network + mac_address = "00:50:56:a1:b1:c4" + nic_type = "e1000" } - guest_startup_timeout = 45 guest_shutdown_timeout = 30 } @@ -73,14 +79,20 @@ resource "esxi_guest" "wef" { clone_from_vm = "WindowsServer2016" network_interfaces { - virtual_network = "var.vm_network" - mac_address = "00:50:56:a1:b1:c3" + virtual_network = var.vm_network + mac_address = "00:50:56:a1:b2:c2" nic_type = "e1000" } network_interfaces { - virtual_network = "var.nat_network" + virtual_network = var.nat_network + mac_address = "00:50:56:a1:b3:c3" + nic_type = "e1000" + } + network_interfaces { + virtual_network = var.hostonly_network + mac_address = "00:50:56:a1:b4:c4" + nic_type = "e1000" } - guest_startup_timeout = 45 guest_shutdown_timeout = 30 } @@ -106,14 +118,20 @@ resource "esxi_guest" "win10" { clone_from_vm = "Windows10" network_interfaces { - virtual_network = "var.vm_network" - mac_address = "00:50:56:a1:b1:c4" + virtual_network = var.vm_network + mac_address = "00:50:56:a2:b1:c2" nic_type = "e1000" } network_interfaces { - virtual_network = "var.nat_network" + virtual_network = var.nat_network + mac_address = "00:50:56:a2:b1:c3" + nic_type = "e1000" + } + network_interfaces { + virtual_network = var.hostonly_network + mac_address = "00:50:56:a2:b1:c4" + nic_type = "e1000" } - guest_startup_timeout = 45 guest_shutdown_timeout = 30 } diff --git a/ESXi/variables.tf b/ESXi/variables.tf index 1d3b331..5da0a50 100644 --- a/ESXi/variables.tf +++ b/ESXi/variables.tf @@ -26,3 +26,7 @@ variable "vm_network" { variable "nat_network" { default = "NAT Network" } + +variable "hostonly_network" { + default = "HostOnly Network" +}