terraform { required_version = "~> 0.12.21" required_providers { azurerm = "~> 1.44" } } provider "azurerm" { subscription_id = var.ARM_SUBSCRIPTION_ID client_id = var.ARM_CLIENT_ID client_secret = var.ARM_CLIENT_SECRET tenant_id = var.ARM_TENANT_ID } module "azure_rg" { source = "./modules/azure_rg" rgs = var.resource_groups } module "azure_sa" { source = "./modules/azure_sa" sas = var.storage_accounts azsa_depends_on = [module.azure_rg.ids] } module "azure_nsg" { source = "./modules/azure_nsg" nsgs = var.network_security_groups aznsg_depends_on = [module.azure_rg.ids] } module "azure_vnet" { source = "./modules/azure_vnet" vnets = var.virtual_networks azvnet_depends_on = [module.azure_rg.ids, module.azure_nsg.ids] } module "azure_rtb" { source = "./modules/azure_rtb" rtbs = var.route_tables azrtb_depends_on = [module.azure_rg.ids] } module "azure_subnet_link" { source = "./modules/azure_subnet_link" sub_links = var.subnets_associations azsub_link_depends_on = [module.azure_rg.ids, module.azure_nsg.ids, module.azure_vnet.ids, module.azure_rtb.ids] } module "azure_vm" { source = "./modules/azure_vm" vms = var.virtual_machines default_ssh_pubkey = var.ssh_pubkey azvm_depends_on = [module.azure_rg.ids, module.azure_vnet.ids, module.azure_nsg.ids] } module "azure_lb" { source = "./modules/azure_lb" lbs = var.load_balancers azlb_depends_on = [module.azure_rg.ids, module.azure_vnet.ids, module.azure_vm.ids] } module "azure_law" { source = "./modules/azure_law" laws = var.workspaces solutions = var.solutions azlaw_depends_on = [module.azure_rg.ids] } module "azure_alert" { source = "./modules/azure_alert" vms = var.vms_to_alert ags = var.action_groups als = var.alerts tags = var.tags rg_name = var.rg_name azalert_depends_on = [module.azure_rg.ids, module.azure_law.ids] }