|
| 1 | +locals { |
| 2 | + # Resource Groups |
| 3 | + resource_group = substr(join("-", compact(["rg", var.project, var.environment, var.location, var.instance_number])), 0, 90) |
| 4 | + resource_groups = { for item in var.resource_groups : item => substr(join("-", compact(["rg", var.project, item, var.environment, var.location, var.instance_number])), 0, 90) } |
| 5 | + |
| 6 | + # Virtual Networks |
| 7 | + virtual_network = substr(join("-", compact(["vnet", var.project, var.environment, var.location, var.instance_number])), 0, 64) |
| 8 | + virtual_networks = { for item in var.virtual_networks : item => substr(join("-", compact(["vnet", var.project, item, var.environment, var.location, var.instance_number])), 0, 64) } |
| 9 | + |
| 10 | + # Subnets |
| 11 | + subnet = substr(join("-", compact(["snet", var.project, var.environment, var.location, var.instance_number])), 0, 80) |
| 12 | + subnets = { for item in var.subnets : item => substr(join("-", compact(["snet", var.project, item, var.environment, var.location, var.instance_number])), 0, 80) } |
| 13 | + |
| 14 | + # Network Security Groups |
| 15 | + network_security_group = substr(join("-", compact(["nsg", var.project, var.environment, var.location, var.instance_number])), 0, 80) |
| 16 | + network_security_groups = { for item in var.network_security_groups : item => substr(join("-", compact(["nsg", var.project, item, var.environment, var.location, var.instance_number])), 0, 80) } |
| 17 | + |
| 18 | + # Route Tables |
| 19 | + route_table = substr(join("-", compact(["rt", var.project, var.environment, var.location, var.instance_number])), 0, 80) |
| 20 | + route_tables = { for item in var.route_tables : item => substr(join("-", compact(["rt", var.project, item, var.environment, var.location, var.instance_number])), 0, 80) } |
| 21 | + |
| 22 | + # NAT Gateway |
| 23 | + nat_gateway = substr(join("-", compact(["ng", var.project, var.environment, var.location, var.instance_number])), 0, 80) |
| 24 | + nat_gateways = { for item in var.nat_gateways : item => substr(join("-", compact(["ng", var.project, item, var.environment, var.location, var.instance_number])), 0, 80) } |
| 25 | + |
| 26 | + # Public IP |
| 27 | + public_ip = substr(join("-", compact(["pip", var.project, var.environment, var.location, var.instance_number])), 0, 80) |
| 28 | + public_ips = { for item in var.public_ips : item => substr(join("-", compact(["pip", var.project, item, var.environment, var.location, var.instance_number])), 0, 80) } |
| 29 | + |
| 30 | + # Private Endpoints |
| 31 | + private_endpoint = substr(join("-", compact(["pep", var.project, var.environment, var.location, var.instance_number])), 0, 80) |
| 32 | + private_endpoints = { for item in var.private_endpoints : item => substr(join("-", compact(["pep", var.project, item, var.environment, var.location, var.instance_number])), 0, 80) } |
| 33 | + |
| 34 | + # Network Interfaces |
| 35 | + network_interface = substr(join("-", compact(["nic", var.project, var.environment, var.location, var.instance_number])), 0, 80) |
| 36 | + network_interfaces = { for item in var.network_interfaces : item => substr(join("-", compact(["nic", var.project, item, var.environment, var.location, var.instance_number])), 0, 80) } |
| 37 | + |
| 38 | + # Internal Load Balancer |
| 39 | + internal_load_balancer = substr(join("-", compact(["lbi", var.project, var.environment, var.location, var.instance_number])), 0, 80) |
| 40 | + internal_load_balancers = { for item in var.internal_load_balancers : item => substr(join("-", compact(["lbi", var.project, item, var.environment, var.location, var.instance_number])), 0, 80) } |
| 41 | + |
| 42 | + # Linux Virtual Machine Scale Sets |
| 43 | + linux_virtual_machine_scale_set = substr(join("-", compact(["vmss", var.project, var.environment, var.location, var.instance_number])), 0, 64) |
| 44 | + linux_virtual_machine_scale_sets = { for item in var.linux_virtual_machine_scale_sets : item => substr(join("-", compact(["vmss", var.project, item, var.environment, var.location, var.instance_number])), 0, 64) } |
| 45 | + |
| 46 | + # Linux Virtual Machine Scale Sets |
| 47 | + linux_virtual_machine = substr(join("-", compact(["vm", var.project, var.environment, var.location, var.instance_number])), 0, 64) |
| 48 | + linux_virtual_machines = { for item in var.linux_virtual_machines : item => substr(join("-", compact(["vm", var.project, item, var.environment, var.location, var.instance_number])), 0, 64) } |
| 49 | + |
| 50 | + # Automation Account |
| 51 | + automation_account = substr(join("-", compact(["aa", var.project, var.environment, var.location, var.instance_number])), 0, 50) |
| 52 | + automation_accounts = { for item in var.automation_accounts : item => substr(join("-", compact(["aa", var.project, item, var.environment, var.location, var.instance_number])), 0, 50) } |
| 53 | + |
| 54 | + # Log Analytics Workspace |
| 55 | + log_analytics_workspace = substr(join("-", compact(["log", var.project, var.environment, var.location, var.instance_number])), 0, 63) |
| 56 | + log_analytics_workspaces = { for item in var.log_analytics_workspaces : item => substr(join("-", compact(["log", var.project, item, var.environment, var.location, var.instance_number])), 0, 63) } |
| 57 | + |
| 58 | + # Key Vaults |
| 59 | + key_vault = substr(join("-", compact(["kv", var.project, substr(var.environment, 0, 1), local.shorthanded_region_names[(var.location)], var.instance_number])), 0, 24) |
| 60 | + key_vaults = { for item in var.key_vaults : item => substr(join("-", compact(["kv", var.project, item, substr(var.environment, 0, 1), local.shorthanded_region_names[(var.location)], var.instance_number])), 0, 24) } |
| 61 | + |
| 62 | + # Storage Accounts |
| 63 | + storage_account = substr(join("", compact(["st", var.project, substr(var.environment, 0, 1), local.shorthanded_region_names[(var.location)], var.instance_number])), 0, 24) |
| 64 | + storage_accounts = { for item in var.storage_accounts : item => substr(join("", compact(["st", var.project, item, substr(var.environment, 0, 1), local.shorthanded_region_names[(var.location)], var.instance_number])), 0, 24) } |
| 65 | + |
| 66 | + # Databricks Workspace |
| 67 | + databricks_workspace = substr(join("-", compact(["dbw", var.project, var.environment, var.location, var.instance_number])), 0, 30) |
| 68 | + databricks_workspaces = { for item in var.databricks_workspaces : item => substr(join("-", compact(["dbw", var.project, item, var.environment, var.location, var.instance_number])), 0, 30) } |
| 69 | + |
| 70 | + # MSSQL Servers |
| 71 | + mssql_server = substr(join("-", compact(["sql", var.project, var.environment, var.location, var.instance_number])), 0, 63) |
| 72 | + mssql_servers = { for item in var.mssql_servers : item => substr(join("-", compact(["sql", var.project, item, var.environment, var.location, var.instance_number])), 0, 63) } |
| 73 | + |
| 74 | + # MSSQL Databases |
| 75 | + mssql_database = substr(join("-", compact(["sqldb", var.project, var.environment, var.location, var.instance_number])), 0, 128) |
| 76 | + mssql_databases = { for item in var.mssql_databases : item => substr(join("-", compact(["sqldb", var.project, item, var.environment, var.location, var.instance_number])), 0, 128) } |
| 77 | + |
| 78 | + # Container Instance |
| 79 | + container_instance = substr(join("-", compact(["ci", var.project, var.environment, var.location, var.instance_number])), 0, 63) |
| 80 | + container_instances = { for item in var.container_instances : item => substr(join("-", compact(["ci", var.project, item, var.environment, var.location, var.instance_number])), 0, 63) } |
| 81 | + |
| 82 | + # Data Factory |
| 83 | + data_factory = substr(join("-", compact(["adf", var.project, var.environment, var.location, var.instance_number])), 0, 63) |
| 84 | + data_factories = { for item in var.data_factories : item => substr(join("-", compact(["adf", var.project, item, var.environment, var.location, var.instance_number])), 0, 63) } |
| 85 | +} |
| 86 | + |
| 87 | +locals { |
| 88 | + shorthanded_region_names = { |
| 89 | + eastus = "eus" |
| 90 | + eastus2 = "eus2" |
| 91 | + westus = "wus" |
| 92 | + westus2 = "wus2" |
| 93 | + westus3 = "wus3" |
| 94 | + centralus = "cus" |
| 95 | + southcentralus = "scus" |
| 96 | + canadacentral = "cac" |
| 97 | + westeurope = "weu" |
| 98 | + northeurope = "neu" |
| 99 | + germanywestcentral = "gwc" |
| 100 | + } |
| 101 | +} |
0 commit comments