@@ -9,19 +9,19 @@ provider "azurerm" {
9
9
10
10
# Create lab virtual network
11
11
resource "azurerm_virtual_network" "vnet" {
12
- name = " ${ var . prefix } -vnet"
12
+ name = " ${ var . resource_group_name } -vnet"
13
13
address_space = [" 10.0.0.0/16" ]
14
14
location = var. location
15
- resource_group_name = var. prefix
15
+ resource_group_name = var. resource_group_name
16
16
dns_servers = [" 10.0.1.4" , " 8.8.8.8" ]
17
17
tags = var. tags
18
18
}
19
19
20
20
# Create network security group and rules
21
21
resource "azurerm_network_security_group" "nsg" {
22
- name = " ${ var . prefix } -nsg"
22
+ name = " ${ var . resource_group_name } -nsg"
23
23
location = var. location
24
- resource_group_name = var. prefix
24
+ resource_group_name = var. resource_group_name
25
25
tags = var. tags
26
26
depends_on = [azurerm_virtual_network . vnet ]
27
27
@@ -100,32 +100,32 @@ resource "azurerm_network_security_group" "nsg" {
100
100
101
101
# Create lab subnet
102
102
resource "azurerm_subnet" "subnet" {
103
- name = " ${ var . prefix } -subnet"
104
- resource_group_name = var. prefix
103
+ name = " ${ var . resource_group_name } -subnet"
104
+ resource_group_name = var. resource_group_name
105
105
virtual_network_name = azurerm_virtual_network. vnet . name
106
106
address_prefixes = [" 10.0.1.0/24" ]
107
107
depends_on = [azurerm_network_security_group . nsg ]
108
108
}
109
109
110
110
# Create public ip for domain controller 1
111
111
resource "azurerm_public_ip" "dc1_publicip" {
112
- name = " ${ var . workstations . dc1 } -publicip"
112
+ name = " ${ var . resource_group_name } -dc -publicip"
113
113
location = var. location
114
- resource_group_name = var. prefix
114
+ resource_group_name = var. resource_group_name
115
115
allocation_method = " Dynamic"
116
116
tags = var. tags
117
117
depends_on = [azurerm_subnet . subnet ]
118
118
}
119
119
120
120
# Create network interface for domain controller 1
121
121
resource "azurerm_network_interface" "dc1_nic" {
122
- name = " ${ var . workstations . dc1 } -nic"
122
+ name = " ${ var . resource_group_name } -dc -nic"
123
123
location = var. location
124
- resource_group_name = var. prefix
124
+ resource_group_name = var. resource_group_name
125
125
tags = var. tags
126
126
127
127
ip_configuration {
128
- name = " ${ var . workstations . dc1 } -nic-conf"
128
+ name = " ${ var . resource_group_name } -dc -nic-conf"
129
129
subnet_id = azurerm_subnet. subnet . id
130
130
private_ip_address_allocation = " Static"
131
131
private_ip_address = " 10.0.1.4"
@@ -136,11 +136,11 @@ resource "azurerm_network_interface" "dc1_nic" {
136
136
137
137
# Deploy domain controller 1
138
138
resource "azurerm_virtual_machine" "dc1" {
139
- name = var. workstations . dc1
139
+ name = " ${ var . resource_group_name } -dc "
140
140
location = var. location
141
- resource_group_name = var. prefix
141
+ resource_group_name = var. resource_group_name
142
142
network_interface_ids = [azurerm_network_interface . dc1_nic . id ]
143
- vm_size = var. workstations . vm_size
143
+ vm_size = var. vm_config . vm_size
144
144
tags = var. tags
145
145
146
146
# This means the OS Disk will be deleted when Terraform destroys the Virtual Machine
@@ -155,14 +155,14 @@ resource "azurerm_virtual_machine" "dc1" {
155
155
}
156
156
157
157
storage_os_disk {
158
- name = " ${ var . workstations . dc1 } -disk1"
158
+ name = " ${ var . resource_group_name } -dc -disk1"
159
159
caching = " ReadWrite"
160
160
create_option = " FromImage"
161
161
managed_disk_type = " Standard_LRS"
162
162
}
163
163
164
164
os_profile {
165
- computer_name = var. workstations . dc1
165
+ computer_name = " ${ var . resource_group_name } -dc "
166
166
admin_username = var. accounts . dc1_admin_user
167
167
admin_password = var. accounts . dc1_admin_password
168
168
}
@@ -191,31 +191,31 @@ resource "azurerm_virtual_machine_extension" "create_ad" {
191
191
tags = var. tags
192
192
protected_settings = << PROT
193
193
{
194
- "fileUris": ["https://raw.githubusercontent. com/BlueTeamLabs/sentinel-attack/dev/v.1.4.3 /lab/files/create-ad.ps1"],
195
- "commandToExecute": "powershell -ExecutionPolicy Unrestricted -File create-ad.ps1 ${ var . accounts . dc1_admin_password } ${ var . prefix } .com ${ var . prefix } "
194
+ "fileUris": ["https://github. com/BlueTeamLabs/sentinel-attack/blob/master /lab/files/create-ad.ps1"],
195
+ "commandToExecute": "powershell -ExecutionPolicy Unrestricted -File create-ad.ps1 ${ var . accounts . dc1_admin_password } ${ var . resource_group_name } .com ${ var . resource_group_name } "
196
196
}
197
197
PROT
198
198
depends_on = [azurerm_virtual_machine . dc1 ]
199
199
}
200
200
201
201
# Create public IP for workstation 1
202
202
resource "azurerm_public_ip" "pc1_publicip" {
203
- name = " ${ var . workstations . pc1 } -publicip"
203
+ name = " ${ var . resource_group_name } -pc -publicip"
204
204
location = var. location
205
- resource_group_name = var. prefix
205
+ resource_group_name = var. resource_group_name
206
206
allocation_method = " Dynamic"
207
207
tags = var. tags
208
208
depends_on = [azurerm_virtual_machine_extension . create_ad ]
209
209
}
210
210
211
211
# Create network interface for workstation 1
212
212
resource "azurerm_network_interface" "pc1_nic" {
213
- name = " ${ var . workstations . pc1 } -nic"
213
+ name = " ${ var . resource_group_name } -pc -nic"
214
214
location = var. location
215
- resource_group_name = var. prefix
215
+ resource_group_name = var. resource_group_name
216
216
tags = var. tags
217
217
ip_configuration {
218
- name = " ${ var . workstations . pc1 } -nic-conf"
218
+ name = " ${ var . resource_group_name } -pc -nic-conf"
219
219
subnet_id = azurerm_subnet. subnet . id
220
220
private_ip_address_allocation = " dynamic"
221
221
public_ip_address_id = azurerm_public_ip. pc1_publicip . id
@@ -225,33 +225,33 @@ resource "azurerm_network_interface" "pc1_nic" {
225
225
226
226
# Create workstation 1
227
227
resource "azurerm_virtual_machine" "pc1" {
228
- name = var. workstations . pc1
228
+ name = " ${ var . resource_group_name } -pc "
229
229
location = var. location
230
- resource_group_name = var. prefix
230
+ resource_group_name = var. resource_group_name
231
231
network_interface_ids = [azurerm_network_interface . pc1_nic . id ]
232
- vm_size = var. workstations . vm_size
232
+ vm_size = var. vm_config . vm_size
233
233
tags = var. tags
234
234
235
235
# This means the OS Disk will be deleted when Terraform destroys the Virtual Machine
236
236
# This may not be optimal in all cases.
237
237
delete_os_disk_on_termination = true
238
238
239
239
storage_image_reference {
240
- publisher = var. workstations . os_manufacturer
241
- offer = var. workstations . os_type
242
- sku = var. workstations . os_sku
243
- version = var. workstations . os_version
240
+ publisher = var. vm_config . os_manufacturer
241
+ offer = var. vm_config . os_type
242
+ sku = var. vm_config . os_sku
243
+ version = var. vm_config . os_version
244
244
}
245
245
246
246
storage_os_disk {
247
- name = " ${ var . workstations . pc1 } -disk1"
247
+ name = " ${ var . resource_group_name } -pc -disk1"
248
248
caching = " ReadWrite"
249
249
create_option = " FromImage"
250
250
managed_disk_type = " Standard_LRS"
251
251
}
252
252
253
253
os_profile {
254
- computer_name = var. workstations . pc1
254
+ computer_name = " ${ var . resource_group_name } -pc "
255
255
admin_username = var. accounts . pc1_admin_user
256
256
admin_password = var. accounts . pc1_admin_password
257
257
}
@@ -280,8 +280,8 @@ resource "azurerm_virtual_machine_extension" "utils_pc1" {
280
280
tags = var. tags
281
281
protected_settings = << PROT
282
282
{
283
- "fileUris": ["https://raw.githubusercontent. com/BlueTeamLabs/sentinel-attack/dev/v.1.4.3 /lab/files/install-utilities.ps1"],
284
- "commandToExecute": "powershell -ExecutionPolicy Unrestricted -File install-utilities.ps1 ${ var . prefix } .com ${ var . accounts . dc1_admin_password } ${ var . prefix } .com\\${ var . accounts . dc1_admin_user } "
283
+ "fileUris": ["https://github. com/BlueTeamLabs/sentinel-attack/blob/master /lab/files/install-utilities.ps1"],
284
+ "commandToExecute": "powershell -ExecutionPolicy Unrestricted -File install-utilities.ps1 ${ var . resource_group_name } .com ${ var . accounts . dc1_admin_password } ${ var . resource_group_name } .com\\${ var . accounts . dc1_admin_user } "
285
285
}
286
286
PROT
287
287
depends_on = [azurerm_virtual_machine . pc1 ]
0 commit comments