# Terraform: control-core/azure/cluster-infra ## Requirements | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.9.0 | | [azurerm](#requirement\_azurerm) | ~> 4.0 | | [helm](#requirement\_helm) | ~> 2.17 | | [kubernetes](#requirement\_kubernetes) | ~> 2.30 | ## Providers | Name | Version | |------|---------| | [azurerm](#provider\_azurerm) | 4.26.0 | ## Modules No modules. ## Resources | Name | Type | |------|------| | [azurerm_kubernetes_cluster.aks](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_cluster) | resource | | [azurerm_log_analytics_solution.aks_solution](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/log_analytics_solution) | resource | | [azurerm_log_analytics_workspace.aks_logs](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/log_analytics_workspace) | resource | | [azurerm_resource_group.aks_rg](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group) | resource | | [azurerm_role_assignment.aks_subnet_network_contributor](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/role_assignment) | resource | | [azurerm_subnet.aks_subnet](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/subnet) | resource | | [azurerm_virtual_network.aks_vnet](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/virtual_network) | resource | ## Inputs | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| | [aks\_sku\_tier](#input\_aks\_sku\_tier) | The SKU tier for the AKS cluster. Options: Free, Standard, Premium. | `string` | `"Standard"` | no | | [aks\_subnet\_address\_prefixes](#input\_aks\_subnet\_address\_prefixes) | Address prefixes for the AKS Subnet. | `list(string)` |
[| no | | [aks\_subnet\_name](#input\_aks\_subnet\_name) | Name of the Subnet for AKS nodes. | `string` | `"snet-aksnodes"` | no | | [availability\_zones](#input\_availability\_zones) | List of Availability Zones to spread the default node pool across (e.g., ["1", "2", "3"]). Set to null or empty list for regional deployment (non-zonal). | `list(string)` | `null` | no | | [cluster\_name](#input\_cluster\_name) | The name for the AKS cluster. | `string` | `"aks-dedicated-vnet-demo"` | no | | [enable\_azure\_monitor](#input\_enable\_azure\_monitor) | Enable Azure Monitor for Containers. | `bool` | `true` | no | | [kubernetes\_version](#input\_kubernetes\_version) | The version of Kubernetes to use for the AKS cluster. | `string` | `"1.28.5"` | no | | [location](#input\_location) | The Azure region where resources will be created. | `string` | `"East US"` | no | | [resource\_group\_name](#input\_resource\_group\_name) | The name of the resource group to create. | `string` | `"rg-aks-dedicated-vnet-demo"` | no | | [system\_node\_pool\_maxcount](#input\_system\_node\_pool\_maxcount) | The initial number of nodes for the system node pool. | `number` | `3` | no | | [system\_node\_pool\_mincount](#input\_system\_node\_pool\_mincount) | The initial number of nodes for the system node pool. | `number` | `1` | no | | [system\_node\_pool\_vm\_size](#input\_system\_node\_pool\_vm\_size) | The VM size for the system node pool. | `string` | `"Standard_DS2_v2"` | no | | [tags](#input\_tags) | A map of tags to assign to the resources. | `map(string)` |
"10.100.1.0/24"
]
{
"environment": "development",
"project": "aks-workload-identity-dedicated-vnet"
} | no |
| [vnet\_address\_space](#input\_vnet\_address\_space) | Address space for the Virtual Network. | `list(string)` | [| no | | [vnet\_name](#input\_vnet\_name) | Name of the Virtual Network to create. | `string` | `"vnet-aks"` | no | ## Outputs | Name | Description | |------|-------------| | [aks\_cluster\_id](#output\_aks\_cluster\_id) | The ID of the deployed AKS cluster. | | [aks\_cluster\_name](#output\_aks\_cluster\_name) | The name of the deployed AKS cluster. | | [aks\_identity\_principal\_id](#output\_aks\_identity\_principal\_id) | The Principal ID of the AKS cluster's managed identity. | | [aks\_oidc\_issuer\_url](#output\_aks\_oidc\_issuer\_url) | The OIDC issuer URL for the AKS cluster. Required for configuring federated identity credentials. | | [kube\_config\_raw](#output\_kube\_config\_raw) | Raw Kubernetes config for the cluster. Use with care! | | [log\_analytics\_workspace\_id](#output\_log\_analytics\_workspace\_id) | The ID of the Log Analytics Workspace used for monitoring (if enabled). | | [resource\_group\_name](#output\_resource\_group\_name) | The name of the resource group where the AKS cluster is deployed. | | [subnet\_id](#output\_subnet\_id) | The ID of the created Subnet used by AKS nodes. | | [subnet\_name](#output\_subnet\_name) | The Name of the created Subnet used by AKS nodes. | | [vnet\_id](#output\_vnet\_id) | The ID of the created Virtual Network used by AKS. | | [vnet\_name](#output\_vnet\_name) | The Name of the created Virtual Network used by AKS. |
"10.100.0.0/16"
]