-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.tf
133 lines (115 loc) · 3.65 KB
/
main.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
module "resource_group" {
source = "./tfmodules/resourcegroups"
rg_name = var.rg_name
rg_location = var.rg_location
default_tags = var.default_tags
}
module "domain_vnet" {
source = "./tfmodules/vnet"
vnet_name = var.vnet_name
vnet_location = module.resource_group.rg_location
vnet_resource_group = module.resource_group.rg_name
vnet_address_space = var.vnet_address_space
subnet_address_prefixes = var.subnet_address_prefixes
}
module "dsc_storage" {
source = "./tfmodules/storage"
rg_name = module.resource_group.rg_name
rg_location = module.resource_group.rg_location
default_tags = module.resource_group.rg_tags
storage_account_name = var.dsc_storage_account_name
storage_container_name = var.dsc_storage_container_name
}
#
#
#
# DSC Configuration Blobs
#
#
# resource "azurerm_storage_blob" "dc_dsc_config_blob" {
# name = "DC-ConfigAD.ps1.zip"
# storage_account_name = module.dsc_storage.storage_account_name
# storage_container_name = module.dsc_storage.storage_container_name
# type = "Block"
# source = "./DSC/DC-ConfigAD.ps1.zip"
# depends_on = [ module.dsc_storage ]
# }
resource "azurerm_storage_blob" "iis_config_blob" {
name = "IIS-Config.ps1.zip"
storage_account_name = module.dsc_storage.storage_account_name
storage_container_name = module.dsc_storage.storage_container_name
type = "Block"
source = "./DSC/IIS-Config.ps1.zip"
depends_on = [ module.dsc_storage ]
}
#
#
#
# Bastion Host
#
#
# resource "azurerm_public_ip" "bas-pip" {
# name = "bas-public-ip"
# location = module.resource_group.rg_location
# resource_group_name = module.resource_group.rg_name
# allocation_method = "Static"
# sku = "Standard"
# }
# resource "azurerm_bastion_host" "bas" {
# name = "domain-bas"
# location = module.resource_group.rg_location
# resource_group_name = module.resource_group.rg_name
# depends_on = [ module.domain_vnet ]
# ip_configuration {
# name = "domain-bas-ip-config"
# subnet_id = module.domain_vnet.subnets["AzureBastionSubnet"].id
# public_ip_address_id = azurerm_public_ip.bas-pip.id
# }
# }
#
#
#
# Domain Controller VM
#
#
# module "dc_vm" {
# source = "./tfmodules/domaincontroller"
# rg_name = module.resource_group.rg_name
# rg_location = module.resource_group.rg_location
# default_tags = var.default_tags
# dc_vm_name = var.dc_vm_name
# subnet_name = module.domain_vnet.subnets["DomainSubnet"].name
# subnet_id = module.domain_vnet.subnets["DomainSubnet"].id
# dc_vm_username = var.dc_admin_username
# dc_vm_password = var.dc_admin_password
# dc_vm_nic_name = var.dc_nic_name
# dc_host_name = var.dc_vm_host_name
# dc_private_ip_address = var.dc_private_ip_address
# ad_domain_name = var.ad_domain_name
# dc_config_ad_blob_url = azurerm_storage_blob.dc_dsc_config_blob.url
# sas_token = data.azurerm_storage_account_sas.blob_container_sas.sas
# depends_on = [ azurerm_storage_blob.dc_dsc_config_blob ]
# }
#
#
#
# IIS VM
#
#
module "iis_vm" {
source = "./tfmodules/IIS"
rg_name = module.resource_group.rg_name
rg_location = module.resource_group.rg_location
default_tags = var.default_tags
subnet_name = module.domain_vnet.subnets["DomainSubnet"].name
subnet_id = module.domain_vnet.subnets["DomainSubnet"].id
iis_vm_name = var.iis_vm_name
iis_hostname = var.iis_hostname
iis_vm_nic_name = var.iis_vm_nic_name
iis_private_ip_address = var.iis_private_ip_address
iis_vm_username = var.iis_vm_username
iis_admin_password = var.iis_admin_password
iis_config_blob_url = azurerm_storage_blob.iis_config_blob.url
sas_token = data.azurerm_storage_account_sas.blob_container_sas.sas
depends_on = [ azurerm_storage_blob.iis_config_blob ]
}