{"id":15877530,"url":"https://github.com/ishuar/terraform-azure-aks","last_synced_at":"2025-08-26T20:11:18.900Z","repository":{"id":38964680,"uuid":"492241614","full_name":"ishuar/terraform-azure-aks","owner":"ishuar","description":"Terraform Module to deploy a AKS cluster","archived":false,"fork":false,"pushed_at":"2025-05-31T12:28:50.000Z","size":135,"stargazers_count":4,"open_issues_count":5,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-20T06:44:08.527Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ishuar.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-14T14:37:56.000Z","updated_at":"2023-09-03T19:09:27.000Z","dependencies_parsed_at":"2024-02-22T00:27:35.498Z","dependency_job_id":"a9b9e33f-7260-4882-9f56-a71a42f2ec6c","html_url":"https://github.com/ishuar/terraform-azure-aks","commit_stats":{"total_commits":40,"total_committers":4,"mean_commits":10.0,"dds":"0.42500000000000004","last_synced_commit":"16d0a1c888d6b14c68fd3624ceb062b86c5b5b9b"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/ishuar/terraform-azure-aks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ishuar%2Fterraform-azure-aks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ishuar%2Fterraform-azure-aks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ishuar%2Fterraform-azure-aks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ishuar%2Fterraform-azure-aks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ishuar","download_url":"https://codeload.github.com/ishuar/terraform-azure-aks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ishuar%2Fterraform-azure-aks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272252722,"owners_count":24900724,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-26T02:00:07.904Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-06T02:01:46.352Z","updated_at":"2025-08-26T20:11:18.825Z","avatar_url":"https://github.com/ishuar.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- PROJECT SHIELDS --\u003e\n\u003c!--\n*** declarations on the bottom of this document\nmanaged within the footer file\n--\u003e\n[![License][license-shield]][license-url] [![Contributors][contributors-shield]][contributors-url] [![Issues][issues-shield]][issues-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url]\n\n\u003cdiv id=\"top\"\u003e\u003c/div\u003e\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n\n  \u003ch1 align=\"center\"\u003e\u003cstrong\u003eAzure Kubernetes Service\u003c/strong\u003e\u003c/h1\u003e\n  \u003cp align=\"center\"\u003e\n    🌩️ Terraform Module For Provisioning Azure Kubernetes Services 🌩️\n    \u003cbr/\u003e\n    \u003ca href=\"https://github.com/ishuar/terraform-azure-aks/issues\"\u003e\u003cstrong\u003eReport Bug\u003c/a\u003e\u003c/strong\u003e or \u003ca href=\"https://github.com/ishuar/terraform-azure-aks/issues\"\u003e\u003cstrong\u003eRequest Feature\u003c/a\u003e\u003c/strong\u003e\n    \u003cbr/\u003e\n    \u003cbr/\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n## Background Knowledge or External Documentation\n\n- [What is Azure Kubernetes Service?](https://learn.microsoft.com/en-us/azure/aks/intro-kubernetes)\n- [Get Started with Flux](https://fluxcd.io/flux/get-started/)\n\n### Pre-requisites\n\n| Name          | Version Used | Help                                                                                                 | Required |\n|---------------|--------------|------------------------------------------------------------------------------------------------------|----------|\n| Terraform     | `\u003e= 1.3.0`   | [Install Terraform](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli) | Yes      |\n| Azure Account | `N/A`        | [Create Azure account](https://azure.microsoft.com/en-us/free)                                       | Yes      |\n| azure-cli     | `\u003e=2.50.0`   | [Install azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli)                   | Yes      |\n\n**⭐️ For Latest updates Don't forget to star the repo! ⭐️**\n\n## Introduction\n\n🚀 This module is your ticket to effortlessly create a Azure Kubernetes Service. Whether you're a seasoned cloud architect or just getting started, this module streamlines the process, giving you more time to focus on what truly matters. 🚀\n\n## Available Features\n\n- Azure kubernetes provisioning\n- Multi nodePool deployments.\n- Azure Monitor Diagnostic Settinga.\n- FluxCD azure kubernetes cluster extension.\n\n## Usage\n\n```hcl\n## Minimal Example with disabled Autoscaling and disabled monitor diagnostic settings\n\nresource \"azurerm_resource_group\" \"aks_rg\" {\n  name     = \"rg-aks-module-test-euw\"\n  location = \"West Europe\"\n}\n\nmodule \"aks\" {\n  source  = \"ishuar/aks/azure\"\n  version = \"~\u003e 2.2\"\n\n  location                     = azurerm_resource_group.aks_rg.name\n  resource_group_name          = azurerm_resource_group.aks_rg.location\n  name                         = \"minimal-example\"\n  dns_prefix                   = \"exampleaks1\"\n  default_node_pool_name       = \"default\"\n  default_node_pool_node_count = 1\n}\n\n```\n\n## Examples\n\nExamples are availabe in `examples` directory.\n\n- [simple](/examples/simple)\n- [flux-enabled-aks](/examples/flux-enabled-aks)\n- [complete](/examples/complete)\n\n## Submodule\n\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | \u003e= 1.3 |\n| \u003ca name=\"requirement_azurerm\"\u003e\u003c/a\u003e [azurerm](#requirement\\_azurerm) | ~\u003e 3.55 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_azurerm\"\u003e\u003c/a\u003e [azurerm](#provider\\_azurerm) | ~\u003e 3.55 |\n| \u003ca name=\"provider_random\"\u003e\u003c/a\u003e [random](#provider\\_random) | n/a |\n| \u003ca name=\"provider_terraform\"\u003e\u003c/a\u003e [terraform](#provider\\_terraform) | n/a |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [azurerm_kubernetes_cluster.this](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_cluster) | resource |\n| [azurerm_kubernetes_cluster_extension.fluxcd](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_cluster_extension) | resource |\n| [azurerm_kubernetes_cluster_node_pool.this](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_cluster_node_pool) | resource |\n| [azurerm_kubernetes_flux_configuration.this](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_flux_configuration) | resource |\n| [azurerm_monitor_diagnostic_setting.this](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/monitor_diagnostic_setting) | resource |\n| [azurerm_role_assignment.fluxcd](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/role_assignment) | resource |\n| [azurerm_role_definition.fluxcd](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/role_definition) | resource |\n| [random_string.fluxcd](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string) | resource |\n| [terraform_data.az_providers_register](https://registry.terraform.io/providers/hashicorp/terraform/latest/docs/resources/data) | resource |\n| [azurerm_client_config.current](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/client_config) | data source |\n| [azurerm_kubernetes_cluster.this](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/kubernetes_cluster) | data source |\n| [azurerm_kubernetes_service_versions.current](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/kubernetes_service_versions) | data source |\n| [azurerm_monitor_diagnostic_categories.this](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/monitor_diagnostic_categories) | data source |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | (Required) The name of the Managed Kubernetes Cluster to create or the existing kubernetes cluster to use with the module | `string` | n/a | yes |\n| \u003ca name=\"input_resource_group_name\"\u003e\u003c/a\u003e [resource\\_group\\_name](#input\\_resource\\_group\\_name) | (Required) Specifies the Resource Group where the new or existing Managed Kubernetes Cluster exists. | `string` | n/a | yes |\n| \u003ca name=\"input_aad_azure_rbac_enabled\"\u003e\u003c/a\u003e [aad\\_azure\\_rbac\\_enabled](#input\\_aad\\_azure\\_rbac\\_enabled) | (Optional) Is Role Based Access Control based on Azure AD enabled? | `bool` | `null` | no |\n| \u003ca name=\"input_aad_rbac_enabled\"\u003e\u003c/a\u003e [aad\\_rbac\\_enabled](#input\\_aad\\_rbac\\_enabled) | (Optional)If AAD RBAC should be enabled | `bool` | `false` | no |\n| \u003ca name=\"input_aad_rbac_managed\"\u003e\u003c/a\u003e [aad\\_rbac\\_managed](#input\\_aad\\_rbac\\_managed) | (Optional) Is the Azure Active Directory integration Managed, meaning that Azure will create/manage the Service Principal used for integration | `bool` | `true` | no |\n| \u003ca name=\"input_aad_rbac_managed_admin_group_ids\"\u003e\u003c/a\u003e [aad\\_rbac\\_managed\\_admin\\_group\\_ids](#input\\_aad\\_rbac\\_managed\\_admin\\_group\\_ids) | (Optional) A list of Object IDs of Azure Active Directory Groups which should have Admin Role on the Cluster. | `list(string)` | `null` | no |\n| \u003ca name=\"input_aad_rbac_unmanaged_client_app_id\"\u003e\u003c/a\u003e [aad\\_rbac\\_unmanaged\\_client\\_app\\_id](#input\\_aad\\_rbac\\_unmanaged\\_client\\_app\\_id) | (Optional) Required if aad\\_rbac\\_managed = false. The Client ID of an Azure Active Directory Application. | `string` | `null` | no |\n| \u003ca name=\"input_aad_rbac_unmanaged_server_app_id\"\u003e\u003c/a\u003e [aad\\_rbac\\_unmanaged\\_server\\_app\\_id](#input\\_aad\\_rbac\\_unmanaged\\_server\\_app\\_id) | (Optional) Required if aad\\_rbac\\_managed = false. The Server ID of an Azure Active Directory Application. | `string` | `null` | no |\n| \u003ca name=\"input_aad_rbac_unmanaged_server_app_secret\"\u003e\u003c/a\u003e [aad\\_rbac\\_unmanaged\\_server\\_app\\_secret](#input\\_aad\\_rbac\\_unmanaged\\_server\\_app\\_secret) | (Optional) Required if aad\\_rbac\\_managed = false. The Server Secret of an Azure Active Directory Application. | `string` | `null` | no |\n| \u003ca name=\"input_additional_node_pools\"\u003e\u003c/a\u003e [additional\\_node\\_pools](#input\\_additional\\_node\\_pools) | (optional) Additional node pool configuration for the aks cluster, ref to module for all inputs possible. | `any` | `{}` | no |\n| \u003ca name=\"input_admin_username\"\u003e\u003c/a\u003e [admin\\_username](#input\\_admin\\_username) | (optional) The Admin Username for the Cluster. Changing this forces a new resource to be created. | `string` | `\"aks-admin\"` | no |\n| \u003ca name=\"input_allowed_maintenance_window_day\"\u003e\u003c/a\u003e [allowed\\_maintenance\\_window\\_day](#input\\_allowed\\_maintenance\\_window\\_day) | (optional) Required if `enable_allowed_maintenance_window` is set to true. A day in a week. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` and `Saturday` | `string` | `\"Saturday\"` | no |\n| \u003ca name=\"input_allowed_maintenance_window_hours\"\u003e\u003c/a\u003e [allowed\\_maintenance\\_window\\_hours](#input\\_allowed\\_maintenance\\_window\\_hours) | (optional) Required if `enable_allowed_maintenance_window` is set to true. An array of hour slots in a day. For example, specifying 1 will allow maintenance from 1:00am to 2:00am. Specifying 1, 2 will allow maintenance from 1:00am to 3:00m. Possible values are between 0 and 23 | `list(any)` | \u003cpre\u003e[\u003cbr\u003e  6,\u003cbr\u003e  2\u003cbr\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_api_server_access_profile_subnet_id\"\u003e\u003c/a\u003e [api\\_server\\_access\\_profile\\_subnet\\_id](#input\\_api\\_server\\_access\\_profile\\_subnet\\_id) | (Optional) The ID of the Subnet where the API server endpoint is delegated to. | `string` | `null` | no |\n| \u003ca name=\"input_api_server_authorized_ip_ranges\"\u003e\u003c/a\u003e [api\\_server\\_authorized\\_ip\\_ranges](#input\\_api\\_server\\_authorized\\_ip\\_ranges) | (Optional) Set of authorized IP ranges to allow access to API server. | `set(string)` | `null` | no |\n| \u003ca name=\"input_automatic_channel_upgrade\"\u003e\u003c/a\u003e [automatic\\_channel\\_upgrade](#input\\_automatic\\_channel\\_upgrade) | (Optional) The upgrade channel for this Kubernetes Cluster, see https://docs.microsoft.com/en-us/azure/aks/upgrade-cluster#set-auto-upgrade-channel | `string` | `\"node-image\"` | no |\n| \u003ca name=\"input_azure_policy_enabled\"\u003e\u003c/a\u003e [azure\\_policy\\_enabled](#input\\_azure\\_policy\\_enabled) | Optional) Should the Azure Policy Add-On be enabled? more info: https://docs.microsoft.com/en-ie/azure/governance/policy/concepts/rego-for-aks | `bool` | `false` | no |\n| \u003ca name=\"input_blob_driver_enabled\"\u003e\u003c/a\u003e [blob\\_driver\\_enabled](#input\\_blob\\_driver\\_enabled) | (Optional) Is the Blob CSI driver enabled? Defaults to false | `bool` | `false` | no |\n| \u003ca name=\"input_cluster_custom_log_categories\"\u003e\u003c/a\u003e [cluster\\_custom\\_log\\_categories](#input\\_cluster\\_custom\\_log\\_categories) | (optional) A list of strings with supported category groups for Azure Kubernetes cluster log monitoring diagnostics | `list(string)` | `[]` | no |\n| \u003ca name=\"input_default_node_pool_enable_auto_scaling\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_enable\\_auto\\_scaling](#input\\_default\\_node\\_pool\\_enable\\_auto\\_scaling) | (Optional) Should the Kubernetes Auto Scaler be enabled for this Node Pool? | `bool` | `null` | no |\n| \u003ca name=\"input_default_node_pool_enable_host_encryption\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_enable\\_host\\_encryption](#input\\_default\\_node\\_pool\\_enable\\_host\\_encryption) | (Optional) Should the nodes in the Default Node Pool have host encryption enabled? | `bool` | `null` | no |\n| \u003ca name=\"input_default_node_pool_enable_node_public_ip\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_enable\\_node\\_public\\_ip](#input\\_default\\_node\\_pool\\_enable\\_node\\_public\\_ip) | (Optional) Should nodes in this Node Pool have a Public IP Address? | `bool` | `null` | no |\n| \u003ca name=\"input_default_node_pool_fips_enabled\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_fips\\_enabled](#input\\_default\\_node\\_pool\\_fips\\_enabled) | (Optional) Should the nodes in this Node Pool have Federal Information Processing Standard enabled? | `bool` | `null` | no |\n| \u003ca name=\"input_default_node_pool_kubelet_disk_type\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_kubelet\\_disk\\_type](#input\\_default\\_node\\_pool\\_kubelet\\_disk\\_type) | (Optional) The type of disk used by kubelet. Possible values are OS and Temporary.' | `string` | `\"OS\"` | no |\n| \u003ca name=\"input_default_node_pool_max_count\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_max\\_count](#input\\_default\\_node\\_pool\\_max\\_count) | (Optional) Required when `default_node_pool_enable_auto_scaling` is set to true. The maximum number of nodes which should exist in this Node Pool. | `number` | `null` | no |\n| \u003ca name=\"input_default_node_pool_max_pods\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_max\\_pods](#input\\_default\\_node\\_pool\\_max\\_pods) | (Optional) The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. | `string` | `null` | no |\n| \u003ca name=\"input_default_node_pool_message_of_the_day\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_message\\_of\\_the\\_day](#input\\_default\\_node\\_pool\\_message\\_of\\_the\\_day) | (Optional) A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It cannot be specified for Windows nodes and must be a static string (i.e. will be printed raw and not executed as a script). Changing this forces a new resource to be created | `string` | `null` | no |\n| \u003ca name=\"input_default_node_pool_min_count\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_min\\_count](#input\\_default\\_node\\_pool\\_min\\_count) | (Optional) Required when `default_node_pool_enable_auto_scaling` is set to true. The minimum number of nodes which should exist in this Node Pool. | `number` | `null` | no |\n| \u003ca name=\"input_default_node_pool_name\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_name](#input\\_default\\_node\\_pool\\_name) | (Optional) Required when `existing_aks_cluster` is set to false. The name which should be used for the default Kubernetes Node Pool. | `string` | `\"\"` | no |\n| \u003ca name=\"input_default_node_pool_node_count\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_node\\_count](#input\\_default\\_node\\_pool\\_node\\_count) | (Optional) Required when `default_node_pool_enable_auto_scaling` is set to false. The number of nodes which should exist in default Node Pool. | `number` | `null` | no |\n| \u003ca name=\"input_default_node_pool_node_labels\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_node\\_labels](#input\\_default\\_node\\_pool\\_node\\_labels) | (Optional) A map of Kubernetes labels which should be applied to nodes in the Default Node Pool. | `map(string)` | `null` | no |\n| \u003ca name=\"input_default_node_pool_only_critical_addons_enabled\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_only\\_critical\\_addons\\_enabled](#input\\_default\\_node\\_pool\\_only\\_critical\\_addons\\_enabled) | (Optional) Enabling this option will taint default node pool with CriticalAddonsOnly=true:NoSchedule taint | `bool` | `false` | no |\n| \u003ca name=\"input_default_node_pool_os_disk_size_gb\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_os\\_disk\\_size\\_gb](#input\\_default\\_node\\_pool\\_os\\_disk\\_size\\_gb) | (Optional) The size of the OS Disk which should be used for each agent in the default Node Pool. | `number` | `64` | no |\n| \u003ca name=\"input_default_node_pool_os_disk_type\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_os\\_disk\\_type](#input\\_default\\_node\\_pool\\_os\\_disk\\_type) | (Optional) The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed | `string` | `null` | no |\n| \u003ca name=\"input_default_node_pool_os_sku\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_os\\_sku](#input\\_default\\_node\\_pool\\_os\\_sku) | (Optional) OsSKU to be used to specify Linux OSType. Not applicable to Windows OSType. | `string` | `null` | no |\n| \u003ca name=\"input_default_node_pool_proximity_placement_group_id\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_proximity\\_placement\\_group\\_id](#input\\_default\\_node\\_pool\\_proximity\\_placement\\_group\\_id) | (Optional) The ID of the Proximity Placement Group. Changing this forces a new resource to be created. | `string` | `null` | no |\n| \u003ca name=\"input_default_node_pool_public_ip_prefix_id\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_public\\_ip\\_prefix\\_id](#input\\_default\\_node\\_pool\\_public\\_ip\\_prefix\\_id) | (Optional) Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. | `string` | `null` | no |\n| \u003ca name=\"input_default_node_pool_tags\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_tags](#input\\_default\\_node\\_pool\\_tags) | (Optional) Tags for the node pool | `map(string)` | `null` | no |\n| \u003ca name=\"input_default_node_pool_ultra_ssd_enabled\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_ultra\\_ssd\\_enabled](#input\\_default\\_node\\_pool\\_ultra\\_ssd\\_enabled) | (Optional) Used to specify whether the UltraSSD is enabled in the Default Node Pool. | `bool` | `null` | no |\n| \u003ca name=\"input_default_node_pool_upgrade_max_surge\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_upgrade\\_max\\_surge](#input\\_default\\_node\\_pool\\_upgrade\\_max\\_surge) | (Optional) The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade. ref : https://registry.terraform.io/providers/hashicorp/azurerm/3.9.0/docs/resources/kubernetes_cluster#max_surge | `string` | `\"2\"` | no |\n| \u003ca name=\"input_default_node_pool_vm_size\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_vm\\_size](#input\\_default\\_node\\_pool\\_vm\\_size) | (optional) The size of the Virtual Machine, such as Standard\\_DS2\\_v2. | `string` | `\"Standard_DS2_v2\"` | no |\n| \u003ca name=\"input_default_node_pool_workload_runtime\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_workload\\_runtime](#input\\_default\\_node\\_pool\\_workload\\_runtime) | (Optional) Specifies the workload runtime used by the node pool. Possible values are OCIContainer and KataMshvVmIsolation | `string` | `null` | no |\n| \u003ca name=\"input_default_node_pool_zones\"\u003e\u003c/a\u003e [default\\_node\\_pool\\_zones](#input\\_default\\_node\\_pool\\_zones) | (Optional) Specifies a list of Availability Zones in which this Kubernetes Cluster should be located. Changing this forces a new Kubernetes Cluster to be created. | `list(string)` | `[]` | no |\n| \u003ca name=\"input_disk_driver_enabled\"\u003e\u003c/a\u003e [disk\\_driver\\_enabled](#input\\_disk\\_driver\\_enabled) | (Optional) Is the Disk CSI driver enabled? Defaults to true. | `bool` | `true` | no |\n| \u003ca name=\"input_disk_driver_version\"\u003e\u003c/a\u003e [disk\\_driver\\_version](#input\\_disk\\_driver\\_version) | (Optional) Disk CSI Driver version to be used. Possible values are v1 and v2. Defaults to v1. | `string` | `\"v1\"` | no |\n| \u003ca name=\"input_disk_encryption_set_id\"\u003e\u003c/a\u003e [disk\\_encryption\\_set\\_id](#input\\_disk\\_encryption\\_set\\_id) | (Optional) The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. | `string` | `null` | no |\n| \u003ca name=\"input_dns_prefix\"\u003e\u003c/a\u003e [dns\\_prefix](#input\\_dns\\_prefix) | (optional) Required when dns\\_prefix\\_private\\_cluster is not specified. DNS prefix specified when creating the managed cluster. | `string` | `null` | no |\n| \u003ca name=\"input_dns_prefix_private_cluster\"\u003e\u003c/a\u003e [dns\\_prefix\\_private\\_cluster](#input\\_dns\\_prefix\\_private\\_cluster) | (optional) Required when dns\\_prefix is not specified. Specifies the DNS prefix to use with private clusters. | `string` | `null` | no |\n| \u003ca name=\"input_dns_service_ip\"\u003e\u003c/a\u003e [dns\\_service\\_ip](#input\\_dns\\_service\\_ip) | (Optional) IP address within the Kubernetes service address range that will be used by cluster service discovery (kube-dns). | `string` | `null` | no |\n| \u003ca name=\"input_ebpf_data_plane\"\u003e\u003c/a\u003e [ebpf\\_data\\_plane](#input\\_ebpf\\_data\\_plane) | (Optional) Specifies the eBPF data plane used for building the Kubernetes network. Possible value is cilium. Changing this forces a new resource to be created. | `string` | `null` | no |\n| \u003ca name=\"input_enable_allowed_maintenance_window\"\u003e\u003c/a\u003e [enable\\_allowed\\_maintenance\\_window](#input\\_enable\\_allowed\\_maintenance\\_window) | (optional) Whether to enable the [allowed maintenance window](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_cluster#allowed) block or not? | `bool` | `true` | no |\n| \u003ca name=\"input_enable_api_server_access_profile\"\u003e\u003c/a\u003e [enable\\_api\\_server\\_access\\_profile](#input\\_enable\\_api\\_server\\_access\\_profile) | (Optional) Whether to enable API server access profile or not? | `bool` | `false` | no |\n| \u003ca name=\"input_enable_cluster_all_category_group_log\"\u003e\u003c/a\u003e [enable\\_cluster\\_all\\_category\\_group\\_log](#input\\_enable\\_cluster\\_all\\_category\\_group\\_log) | (optional) Whether to enable all category group log for Azure Kubernetes cluster or not? | `bool` | `false` | no |\n| \u003ca name=\"input_enable_cluster_all_metrics\"\u003e\u003c/a\u003e [enable\\_cluster\\_all\\_metrics](#input\\_enable\\_cluster\\_all\\_metrics) | (optional) Whether to enable all metrics for diagnostics for Azure Kubernetes cluster or not? | `bool` | `false` | no |\n| \u003ca name=\"input_enable_cluster_audit_category_group_log\"\u003e\u003c/a\u003e [enable\\_cluster\\_audit\\_category\\_group\\_log](#input\\_enable\\_cluster\\_audit\\_category\\_group\\_log) | (optional) Whether to enable only audit category group log for Azure Kubernetes cluster or not? | `string` | `true` | no |\n| \u003ca name=\"input_enable_cluster_custom_categories_log\"\u003e\u003c/a\u003e [enable\\_cluster\\_custom\\_categories\\_log](#input\\_enable\\_cluster\\_custom\\_categories\\_log) | (optional) Whether to enable custom categories log for Azure Kubernetes cluster or not? | `string` | `false` | no |\n| \u003ca name=\"input_enable_cluster_log_monitor_diagnostic\"\u003e\u003c/a\u003e [enable\\_cluster\\_log\\_monitor\\_diagnostic](#input\\_enable\\_cluster\\_log\\_monitor\\_diagnostic) | (optional) Whether to enable the log monitor diagnostic for Azure Kubernetes cluster or not? | `bool` | `false` | no |\n| \u003ca name=\"input_enable_fluxcd\"\u003e\u003c/a\u003e [enable\\_fluxcd](#input\\_enable\\_fluxcd) | (optional) Whether to enable fluxcd extension(GitOps) or not ? | `bool` | `false` | no |\n| \u003ca name=\"input_enable_fluxcd_az_providers\"\u003e\u003c/a\u003e [enable\\_fluxcd\\_az\\_providers](#input\\_enable\\_fluxcd\\_az\\_providers) | (optional) Whether to register the azure provider to kubernetes and container namespaces. **Warning** This is an experimental feature only. | `bool` | `false` | no |\n| \u003ca name=\"input_enable_fluxcd_bucket\"\u003e\u003c/a\u003e [enable\\_fluxcd\\_bucket](#input\\_enable\\_fluxcd\\_bucket) | (optional) Whether to enable fluxcd S3 bucket or not? | `bool` | `false` | no |\n| \u003ca name=\"input_enable_maintenance_window\"\u003e\u003c/a\u003e [enable\\_maintenance\\_window](#input\\_enable\\_maintenance\\_window) | (optional) Whether to enable the maintenance window or not? | `bool` | `true` | no |\n| \u003ca name=\"input_enable_microsoft_defender\"\u003e\u003c/a\u003e [enable\\_microsoft\\_defender](#input\\_enable\\_microsoft\\_defender) | (Optional) whether to enable the microsoft defender or not ,ref: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_cluster#microsoft_defender | `bool` | `false` | no |\n| \u003ca name=\"input_enable_not_allowed_maintenance_window\"\u003e\u003c/a\u003e [enable\\_not\\_allowed\\_maintenance\\_window](#input\\_enable\\_not\\_allowed\\_maintenance\\_window) | (optional) Whether to enable the [not\\_allowed maintenance window](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_cluster#not_allowed) block or not? | `bool` | `false` | no |\n| \u003ca name=\"input_eventhub_authorization_rule_id\"\u003e\u003c/a\u003e [eventhub\\_authorization\\_rule\\_id](#input\\_eventhub\\_authorization\\_rule\\_id) | (optional) Specifies the ID of an Event Hub Namespace Authorization Rule used to send Diagnostics Data. | `string` | `null` | no |\n| \u003ca name=\"input_eventhub_name\"\u003e\u003c/a\u003e [eventhub\\_name](#input\\_eventhub\\_name) | (optional) Specifies the name of the Event Hub where Diagnostics Data should be sent. | `string` | `null` | no |\n| \u003ca name=\"input_existing_aks_cluster\"\u003e\u003c/a\u003e [existing\\_aks\\_cluster](#input\\_existing\\_aks\\_cluster) | (optional) Is there any existing AKS cluster? | `bool` | `false` | no |\n| \u003ca name=\"input_file_driver_enabled\"\u003e\u003c/a\u003e [file\\_driver\\_enabled](#input\\_file\\_driver\\_enabled) | (Optional) Is the File CSI driver enabled? Defaults to true. | `bool` | `true` | no |\n| \u003ca name=\"input_fluxcd_blob_storage_account_key\"\u003e\u003c/a\u003e [fluxcd\\_blob\\_storage\\_account\\_key](#input\\_fluxcd\\_blob\\_storage\\_account\\_key) | (Optional) Specifies the account key (shared key) to access the storage account. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_blob_storage_container_id\"\u003e\u003c/a\u003e [fluxcd\\_blob\\_storage\\_container\\_id](#input\\_fluxcd\\_blob\\_storage\\_container\\_id) | (Required) Specifies the Azure Blob container ID. | `string` | `\"\"` | no |\n| \u003ca name=\"input_fluxcd_blob_storage_local_auth_reference\"\u003e\u003c/a\u003e [fluxcd\\_blob\\_storage\\_local\\_auth\\_reference](#input\\_fluxcd\\_blob\\_storage\\_local\\_auth\\_reference) | (Optional) Specifies the name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_blob_storage_managed_identity_client_id\"\u003e\u003c/a\u003e [fluxcd\\_blob\\_storage\\_managed\\_identity\\_client\\_id](#input\\_fluxcd\\_blob\\_storage\\_managed\\_identity\\_client\\_id) | (Required) Specifies the client ID for authenticating a Managed Identity. | `string` | `\"\"` | no |\n| \u003ca name=\"input_fluxcd_blob_storage_sas_token\"\u003e\u003c/a\u003e [fluxcd\\_blob\\_storage\\_sas\\_token](#input\\_fluxcd\\_blob\\_storage\\_sas\\_token) | (Optional) Specifies the shared access token to access the storage container. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_blob_storage_service_principal_client_certificate_base64\"\u003e\u003c/a\u003e [fluxcd\\_blob\\_storage\\_service\\_principal\\_client\\_certificate\\_base64](#input\\_fluxcd\\_blob\\_storage\\_service\\_principal\\_client\\_certificate\\_base64) | (Optional) Base64-encoded certificate used to authenticate a Service Principal . | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_blob_storage_service_principal_client_certificate_password\"\u003e\u003c/a\u003e [fluxcd\\_blob\\_storage\\_service\\_principal\\_client\\_certificate\\_password](#input\\_fluxcd\\_blob\\_storage\\_service\\_principal\\_client\\_certificate\\_password) | (Optional) Specifies the password for the certificate used to authenticate a Service Principal . | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_blob_storage_service_principal_client_certificate_send_chain\"\u003e\u003c/a\u003e [fluxcd\\_blob\\_storage\\_service\\_principal\\_client\\_certificate\\_send\\_chain](#input\\_fluxcd\\_blob\\_storage\\_service\\_principal\\_client\\_certificate\\_send\\_chain) | (Optional) Specifies whether to include x5c header in client claims when acquiring a token to enable subject name / issuer based authentication for the client certificate. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_blob_storage_service_principal_client_id\"\u003e\u003c/a\u003e [fluxcd\\_blob\\_storage\\_service\\_principal\\_client\\_id](#input\\_fluxcd\\_blob\\_storage\\_service\\_principal\\_client\\_id) | (Required) Specifies the client ID for authenticating a Service Principal. | `string` | `\"\"` | no |\n| \u003ca name=\"input_fluxcd_blob_storage_service_principal_client_secret\"\u003e\u003c/a\u003e [fluxcd\\_blob\\_storage\\_service\\_principal\\_client\\_secret](#input\\_fluxcd\\_blob\\_storage\\_service\\_principal\\_client\\_secret) | (Optional) Specifies the client secret for authenticating a Service Principal. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_blob_storage_service_principal_tenant_id\"\u003e\u003c/a\u003e [fluxcd\\_blob\\_storage\\_service\\_principal\\_tenant\\_id](#input\\_fluxcd\\_blob\\_storage\\_service\\_principal\\_tenant\\_id) | (Required) Specifies the tenant ID for authenticating a Service Principal. | `string` | `\"\"` | no |\n| \u003ca name=\"input_fluxcd_blob_storage_ssas_token\"\u003e\u003c/a\u003e [fluxcd\\_blob\\_storage\\_ssas\\_token](#input\\_fluxcd\\_blob\\_storage\\_ssas\\_token) | (Optional) Specifies the shared access token to access the storage container. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_blob_storage_sync_interval_in_seconds\"\u003e\u003c/a\u003e [fluxcd\\_blob\\_storage\\_sync\\_interval\\_in\\_seconds](#input\\_fluxcd\\_blob\\_storage\\_sync\\_interval\\_in\\_seconds) | (Optional) Specifies the interval at which to re-reconcile the cluster Azure Blob source with the remote. | `number` | `null` | no |\n| \u003ca name=\"input_fluxcd_blob_storage_timeout_in_seconds\"\u003e\u003c/a\u003e [fluxcd\\_blob\\_storage\\_timeout\\_in\\_seconds](#input\\_fluxcd\\_blob\\_storage\\_timeout\\_in\\_seconds) | (Optional) Specifies the maximum time to attempt to reconcile the cluster Azure Blob source with the remote. | `number` | `null` | no |\n| \u003ca name=\"input_fluxcd_bucket_access_key\"\u003e\u003c/a\u003e [fluxcd\\_bucket\\_access\\_key](#input\\_fluxcd\\_bucket\\_access\\_key) | (Optional) Specifies the plaintext access key used to securely access the S3 bucket. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_bucket_local_auth_reference\"\u003e\u003c/a\u003e [fluxcd\\_bucket\\_local\\_auth\\_reference](#input\\_fluxcd\\_bucket\\_local\\_auth\\_reference) | (Optional) Specifies the name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. It must be between 1 and 63 characters. It can contain only lowercase letters, numbers, and hyphens (-). It must start and end with a lowercase letter or number. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_bucket_name\"\u003e\u003c/a\u003e [fluxcd\\_bucket\\_name](#input\\_fluxcd\\_bucket\\_name) | (Optional) Specifies the bucket name to sync from the url endpoint for the flux configuration. Required if `enable_fluxcd_bucket` is true. | `string` | `\"\"` | no |\n| \u003ca name=\"input_fluxcd_bucket_secret_key_base64\"\u003e\u003c/a\u003e [fluxcd\\_bucket\\_secret\\_key\\_base64](#input\\_fluxcd\\_bucket\\_secret\\_key\\_base64) | (Optional) Specifies the Base64-encoded secret key used to authenticate with the bucket source. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_bucket_sync_interval_in_seconds\"\u003e\u003c/a\u003e [fluxcd\\_bucket\\_sync\\_interval\\_in\\_seconds](#input\\_fluxcd\\_bucket\\_sync\\_interval\\_in\\_seconds) | (Optional) Specifies the interval at which to re-reconcile the cluster git repository source with the remote. Defaults to 600. | `number` | `null` | no |\n| \u003ca name=\"input_fluxcd_bucket_timeout_in_seconds\"\u003e\u003c/a\u003e [fluxcd\\_bucket\\_timeout\\_in\\_seconds](#input\\_fluxcd\\_bucket\\_timeout\\_in\\_seconds) | (Optional) Specifies the maximum time to attempt to reconcile the cluster git repository source with the remote. Defaults to 600. | `number` | `null` | no |\n| \u003ca name=\"input_fluxcd_bucket_tls_enabled\"\u003e\u003c/a\u003e [fluxcd\\_bucket\\_tls\\_enabled](#input\\_fluxcd\\_bucket\\_tls\\_enabled) | (Optional) Specify whether to communicate with a bucket using TLS is enabled. Defaults to true. | `bool` | `null` | no |\n| \u003ca name=\"input_fluxcd_bucket_url\"\u003e\u003c/a\u003e [fluxcd\\_bucket\\_url](#input\\_fluxcd\\_bucket\\_url) | (Optional) Specifies the URL to sync for the flux configuration S3 bucket. It must start with http:// or https://. Required if `enable_fluxcd_bucket` is true. | `string` | `\"\"` | no |\n| \u003ca name=\"input_fluxcd_configuration_name\"\u003e\u003c/a\u003e [fluxcd\\_configuration\\_name](#input\\_fluxcd\\_configuration\\_name) | (Optional) Specifies the name which should be used for this Kubernetes Flux Configuration. Required if `enable_fluxcd` is true. Changing this forces a new Kubernetes Flux Configuration to be created. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_continuous_reconciliation_enabled\"\u003e\u003c/a\u003e [fluxcd\\_continuous\\_reconciliation\\_enabled](#input\\_fluxcd\\_continuous\\_reconciliation\\_enabled) | (Optional) Whether the configuration will keep its reconciliation of its kustomizations and sources with the repository. Defaults to true. | `bool` | `null` | no |\n| \u003ca name=\"input_fluxcd_extension_configuration_protected_settings\"\u003e\u003c/a\u003e [fluxcd\\_extension\\_configuration\\_protected\\_settings](#input\\_fluxcd\\_extension\\_configuration\\_protected\\_settings) | (optional) Configuration settings that are sensitive, as name-value pairs for configuring this extension | `map(string)` | `{}` | no |\n| \u003ca name=\"input_fluxcd_extension_configuration_settings\"\u003e\u003c/a\u003e [fluxcd\\_extension\\_configuration\\_settings](#input\\_fluxcd\\_extension\\_configuration\\_settings) | (Optional) Configuration settings, as name-value pairs for configuring this extension. | `map(string)` | `{}` | no |\n| \u003ca name=\"input_fluxcd_extension_name\"\u003e\u003c/a\u003e [fluxcd\\_extension\\_name](#input\\_fluxcd\\_extension\\_name) | (optional)Specifies the name which should be used for this Kubernetes Cluster Extension. Changing this forces a new Kubernetes Cluster Extension to be created. | `string` | `\"fluxcd\"` | no |\n| \u003ca name=\"input_fluxcd_extension_release_namespace\"\u003e\u003c/a\u003e [fluxcd\\_extension\\_release\\_namespace](#input\\_fluxcd\\_extension\\_release\\_namespace) | (Optional) Namespace where the extension release must be placed for a cluster scoped extension. If this namespace does not exist, it will be created. Changing this forces a new Kubernetes Cluster Extension to be created. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_extension_release_train\"\u003e\u003c/a\u003e [fluxcd\\_extension\\_release\\_train](#input\\_fluxcd\\_extension\\_release\\_train) | (Optional) The release train used by this extension. Possible values include but are not limited to Stable, Preview. Changing this forces a new Kubernetes Cluster Extension to be created. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_extension_target_namespace\"\u003e\u003c/a\u003e [fluxcd\\_extension\\_target\\_namespace](#input\\_fluxcd\\_extension\\_target\\_namespace) | (Optional) Namespace where the extension will be created for a namespace scoped extension. If this namespace does not exist, it will be created. Changing this forces a new Kubernetes Cluster Extension to be created. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_extension_version\"\u003e\u003c/a\u003e [fluxcd\\_extension\\_version](#input\\_fluxcd\\_extension\\_version) | (Optional) User-specified version that the extension should pin to. If it is not set, Azure will use the latest version and auto upgrade it. Changing this forces a new Kubernetes Cluster Extension to be created. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_git_repository_https_ca_cert_base64\"\u003e\u003c/a\u003e [fluxcd\\_git\\_repository\\_https\\_ca\\_cert\\_base64](#input\\_fluxcd\\_git\\_repository\\_https\\_ca\\_cert\\_base64) | (Optional) Specifies the Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_git_repository_https_key_base64\"\u003e\u003c/a\u003e [fluxcd\\_git\\_repository\\_https\\_key\\_base64](#input\\_fluxcd\\_git\\_repository\\_https\\_key\\_base64) | (Optional) Specifies the Base64-encoded HTTPS personal access token or password that will be used to access the repository. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_git_repository_https_user\"\u003e\u003c/a\u003e [fluxcd\\_git\\_repository\\_https\\_user](#input\\_fluxcd\\_git\\_repository\\_https\\_user) | (Optional) Specifies the plaintext HTTPS username used to access private git repositories over HTTPS. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_git_repository_local_auth_reference\"\u003e\u003c/a\u003e [fluxcd\\_git\\_repository\\_local\\_auth\\_reference](#input\\_fluxcd\\_git\\_repository\\_local\\_auth\\_reference) | (Optional) Specifies the name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. It must be between 1 and 63 characters. It can contain only lowercase letters, numbers, and hyphens (-). It must start and end with a lowercase letter or number. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_git_repository_reference_type\"\u003e\u003c/a\u003e [fluxcd\\_git\\_repository\\_reference\\_type](#input\\_fluxcd\\_git\\_repository\\_reference\\_type) | (Optional) Specifies the source reference type for the GitRepository object. Possible values are branch, commit, semver and tag. | `string` | `\"branch\"` | no |\n| \u003ca name=\"input_fluxcd_git_repository_reference_value\"\u003e\u003c/a\u003e [fluxcd\\_git\\_repository\\_reference\\_value](#input\\_fluxcd\\_git\\_repository\\_reference\\_value) | (Optional) Specifies the source reference value for the GitRepository object. | `string` | `\"main\"` | no |\n| \u003ca name=\"input_fluxcd_git_repository_ssh_known_hosts_base64\"\u003e\u003c/a\u003e [fluxcd\\_git\\_repository\\_ssh\\_known\\_hosts\\_base64](#input\\_fluxcd\\_git\\_repository\\_ssh\\_known\\_hosts\\_base64) | (Optional) Specifies the Base64-encoded known\\_hosts value containing public SSH keys required to access private git repositories over SSH. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_git_repository_ssh_private_key_base64\"\u003e\u003c/a\u003e [fluxcd\\_git\\_repository\\_ssh\\_private\\_key\\_base64](#input\\_fluxcd\\_git\\_repository\\_ssh\\_private\\_key\\_base64) | (Optional) Specifies the Base64-encoded SSH private key in PEM format. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_git_repository_sync_interval_in_seconds\"\u003e\u003c/a\u003e [fluxcd\\_git\\_repository\\_sync\\_interval\\_in\\_seconds](#input\\_fluxcd\\_git\\_repository\\_sync\\_interval\\_in\\_seconds) | (Optional) Specifies the interval at which to re-reconcile the cluster git repository source with the remote. Defaults to 600. | `number` | `null` | no |\n| \u003ca name=\"input_fluxcd_git_repository_timeout_in_seconds\"\u003e\u003c/a\u003e [fluxcd\\_git\\_repository\\_timeout\\_in\\_seconds](#input\\_fluxcd\\_git\\_repository\\_timeout\\_in\\_seconds) | (Optional) Specifies the maximum time to attempt to reconcile the cluster git repository source with the remote. Defaults to 600. | `number` | `null` | no |\n| \u003ca name=\"input_fluxcd_git_repository_url\"\u003e\u003c/a\u003e [fluxcd\\_git\\_repository\\_url](#input\\_fluxcd\\_git\\_repository\\_url) | (Optional) Specifies the URL to sync for the flux configuration git repository. It must start with http://, https://, git@ or ssh://. Required if `enable_fluxcd` is true | `string` | `\"\"` | no |\n| \u003ca name=\"input_fluxcd_namespace\"\u003e\u003c/a\u003e [fluxcd\\_namespace](#input\\_fluxcd\\_namespace) | (Optional) Specifies the namespace to which this configuration is installed to. Required if `enable_fluxcd` is true. Changing this forces a new Kubernetes Flux Configuration to be created. | `string` | `null` | no |\n| \u003ca name=\"input_fluxcd_scope\"\u003e\u003c/a\u003e [fluxcd\\_scope](#input\\_fluxcd\\_scope) | (Optional) Specifies the scope at which the operator will be installed. Possible values are cluster and namespace. Defaults to namespace. Changing this forces a new Kubernetes Flux Configuration to be created. | `string` | `null` | no |\n| \u003ca name=\"input_http_application_routing_enabled\"\u003e\u003c/a\u003e [http\\_application\\_routing\\_enabled](#input\\_http\\_application\\_routing\\_enabled) | (Optional) Should HTTP Application Routing be enabled? | `bool` | `null` | no |\n| \u003ca name=\"input_http_proxy_config\"\u003e\u003c/a\u003e [http\\_proxy\\_config](#input\\_http\\_proxy\\_config) | Proxy config: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_cluster#http_proxy | `any` | `null` | no |\n| \u003ca name=\"input_identity_ids\"\u003e\u003c/a\u003e [identity\\_ids](#input\\_identity\\_ids) | (optional) Specifies a list of User Assigned Managed Identity IDs to be assigned to this Kubernetes Cluster | `set(string)` | `null` | no |\n| \u003ca name=\"input_identity_type\"\u003e\u003c/a\u003e [identity\\_type](#input\\_identity\\_type) | (optional) Specifies the type of Managed Service Identity that should be configured on this Kubernetes Cluster. | `string` | `\"SystemAssigned\"` | no |\n| \u003ca name=\"input_image_cleaner_enabled\"\u003e\u003c/a\u003e [image\\_cleaner\\_enabled](#input\\_image\\_cleaner\\_enabled) | (Optional) Specifies whether Image Cleaner is enabled. | `bool` | `false` | no |\n| \u003ca name=\"input_image_cleaner_interval_hours\"\u003e\u003c/a\u003e [image\\_cleaner\\_interval\\_hours](#input\\_image\\_cleaner\\_interval\\_hours) | (Optional) Specifies the interval in hours when images should be cleaned up. | `number` | `null` | no |\n| \u003ca name=\"input_include_preview\"\u003e\u003c/a\u003e [include\\_preview](#input\\_include\\_preview) | (Optional) Should Preview versions of Kubernetes in AKS be included? Defaults to false | `bool` | `false` | no |\n| \u003ca name=\"input_ingress_app_gw_enabled\"\u003e\u003c/a\u003e [ingress\\_app\\_gw\\_enabled](#input\\_ingress\\_app\\_gw\\_enabled) | If the Ingress Application Gateway is should be enabled or not? | `bool` | `false` | no |\n| \u003ca name=\"input_ingress_app_gw_id\"\u003e\u003c/a\u003e [ingress\\_app\\_gw\\_id](#input\\_ingress\\_app\\_gw\\_id) | (Optional) The ID of the Application Gateway to integrate with the ingress controller of this Kubernetes Cluster, ref:  https://docs.microsoft.com/en-us/azure/application-gateway/tutorial-ingress-controller-add-on-existing | `string` | `null` | no |\n| \u003ca name=\"input_ingress_app_gw_name\"\u003e\u003c/a\u003e [ingress\\_app\\_gw\\_name](#input\\_ingress\\_app\\_gw\\_name) | (Optional) The name of the Application Gateway to be used or created in the Nodepool Resource Group, which in turn will be integrated with the ingress controller of this Kubernetes Cluster, ref: https://docs.microsoft.com/azure/application-gateway/tutorial-ingress-controller-add-on-new | `string` | `null` | no |\n| \u003ca name=\"input_ingress_app_gw_subnet_cidr\"\u003e\u003c/a\u003e [ingress\\_app\\_gw\\_subnet\\_cidr](#input\\_ingress\\_app\\_gw\\_subnet\\_cidr) | (Optional) The subnet CIDR to be used to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster, ref: https://docs.microsoft.com/azure/application-gateway/tutorial-ingress-controller-add-on-new | `string` | `null` | no |\n| \u003ca name=\"input_ingress_app_gw_subnet_id\"\u003e\u003c/a\u003e [ingress\\_app\\_gw\\_subnet\\_id](#input\\_ingress\\_app\\_gw\\_subnet\\_id) | (Optional) The ID of the subnet on which to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster, ref: https://docs.microsoft.com/azure/application-gateway/tutorial-ingress-controller-add-on-new | `string` | `null` | no |\n| \u003ca name=\"input_key_data\"\u003e\u003c/a\u003e [key\\_data](#input\\_key\\_data) | (optional) The Admin Username for the Cluster. Changing this forces a new resource to be created.) An ssh\\_key block.Only one is currently allowed. Changing this will update the key on all node pools. More information can be found in the [documentation](https://learn.microsoft.com/en-us/azure/aks/node-access#update-ssh-key-on-an-existing-aks-cluster-preview). | `string` | `\"\"` | no |\n| \u003ca name=\"input_key_vault_secrets_provider_enabled\"\u003e\u003c/a\u003e [key\\_vault\\_secrets\\_provider\\_enabled](#input\\_key\\_vault\\_secrets\\_provider\\_enabled) | (Optional) If the secrets provider should be enabled | `bool` | `false` | no |\n| \u003ca name=\"input_key_vault_secrets_provider_secret_rotation_enabled\"\u003e\u003c/a\u003e [key\\_vault\\_secrets\\_provider\\_secret\\_rotation\\_enabled](#input\\_key\\_vault\\_secrets\\_provider\\_secret\\_rotation\\_enabled) | (Optional) Is secret rotation enabled? | `bool` | `false` | no |\n| \u003ca name=\"input_key_vault_secrets_provider_secret_rotation_interval\"\u003e\u003c/a\u003e [key\\_vault\\_secrets\\_provider\\_secret\\_rotation\\_interval](#input\\_key\\_vault\\_secrets\\_provider\\_secret\\_rotation\\_interval) | (Optional) The interval to poll for secret rotation. This attribute is only set when secret\\_rotation is true and defaults to 2m. | `string` | `null` | no |\n| \u003ca name=\"input_kubelet_identity_client_id\"\u003e\u003c/a\u003e [kubelet\\_identity\\_client\\_id](#input\\_kubelet\\_identity\\_client\\_id) | (Optional) The Client ID of the user-defined Managed Identity to be assigned to the Kubelets. If not specified a Managed Identity is created automatically.Can be also specified when kubelet\\_identity is true | `string` | `null` | no |\n| \u003ca name=\"input_kubelet_identity_enabled\"\u003e\u003c/a\u003e [kubelet\\_identity\\_enabled](#input\\_kubelet\\_identity\\_enabled) | (optional) If kubelet identity should be enabled | `bool` | `false` | no |\n| \u003ca name=\"input_kubelet_identity_object_id\"\u003e\u003c/a\u003e [kubelet\\_identity\\_object\\_id](#input\\_kubelet\\_identity\\_object\\_id) | (optional) The Object ID of the user-defined Managed Identity assigned to the Kubelets.If not specified a Managed Identity is created automatically.Can be also specified when kubelet\\_identity is true | `string` | `null` | no |\n| \u003ca name=\"input_kubelet_identity_user_assigned_identity_id\"\u003e\u003c/a\u003e [kubelet\\_identity\\_user\\_assigned\\_identity\\_id](#input\\_kubelet\\_identity\\_user\\_assigned\\_identity\\_id) | (optional) The ID of the User Assigned Identity assigned to the Kubelets. If not specified a Managed Identity is created automatically.Can be also specified when kubelet\\_identity is true | `string` | `null` | no |\n| \u003ca name=\"input_kubernetes_cluster_id\"\u003e\u003c/a\u003e [kubernetes\\_cluster\\_id](#input\\_kubernetes\\_cluster\\_id) | (optional) Kubernetes Cluster ID of the existing aks cluster | `string` | `\"\"` | no |\n| \u003ca name=\"input_kubernetes_version\"\u003e\u003c/a\u003e [kubernetes\\_version](#input\\_kubernetes\\_version) | (Optional) Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time and will change as per the stable availability of the AKS version. It is also set as orchestrator version of nodepools if not specified. | `string` | `\"\"` | no |\n| \u003ca name=\"input_kustomizations\"\u003e\u003c/a\u003e [kustomizations](#input\\_kustomizations) | (optional) FluxCD Kustomization Configurations. `name` is Required if `enable_fluxcd` is true | \u003cpre\u003elist(object({\u003cbr\u003e    path                       = optional(string)\u003cbr\u003e    name                       = optional(string)\u003cbr\u003e    timeout_in_seconds         = optional(number)\u003cbr\u003e    sync_interval_in_seconds   = optional(number)\u003cbr\u003e    recreating_enabled         = optional(bool)\u003cbr\u003e    garbage_collection_enabled = optional(bool)\u003cbr\u003e    retry_interval_in_seconds  = optional(number)\u003cbr\u003e    depends_on                 = optional(list(string))\u003cbr\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_load_balancer_sku\"\u003e\u003c/a\u003e [load\\_balancer\\_sku](#input\\_load\\_balancer\\_sku) | (Optional) Specifies the SKU of the Load Balancer used for this Kubernetes Cluster. Possible values are basic and standard. Defaults to standard. Changing this forces a new resource to be created. | `string` | `\"standard\"` | no |\n| \u003ca name=\"input_local_account_disabled\"\u003e\u003c/a\u003e [local\\_account\\_disabled](#input\\_local\\_account\\_disabled) | (Optional) - If true local accounts will be disabled. Defaults to false. see https://docs.microsoft.com/en-us/azure/aks/managed-aad#azure-ad-authentication-overview | `bool` | `null` | no |\n| \u003ca name=\"input_location\"\u003e\u003c/a\u003e [location](#input\\_location) | (optional) The location where the Managed Kubernetes Cluster should be created. | `string` | `\"westeurope\"` | no |\n| \u003ca name=\"input_log_analytics_workspace_id\"\u003e\u003c/a\u003e [log\\_analytics\\_workspace\\_id](#input\\_log\\_analytics\\_workspace\\_id) | (Optional) Specifies the ID of the Log Analytics Workspace where the audit logs collected by Microsoft Defender \u0026 OMS agent should be sent to | `string` | `null` | no |\n| \u003ca name=\"input_monitor_diagnostic_log_analytics_destination_type\"\u003e\u003c/a\u003e [monitor\\_diagnostic\\_log\\_analytics\\_destination\\_type](#input\\_monitor\\_diagnostic\\_log\\_analytics\\_destination\\_type) | (optional)  Possible values are AzureDiagnostics and Dedicated. When set to Dedicated, logs sent to a Log Analytics workspace will go into resource specific tables, instead of the legacy AzureDiagnostics table | `string` | `null` | no |\n| \u003ca name=\"input_monitor_diagnostic_log_analytics_workspace_id\"\u003e\u003c/a\u003e [monitor\\_diagnostic\\_log\\_analytics\\_workspace\\_id](#input\\_monitor\\_diagnostic\\_log\\_analytics\\_workspace\\_id) | (optional) Specifies the ID of a Log Analytics Workspace where Diagnostics Data should be sent. | `string` | `null` | no |\n| \u003ca name=\"input_monitor_diagnostic_storage_account_id\"\u003e\u003c/a\u003e [monitor\\_diagnostic\\_storage\\_account\\_id](#input\\_monitor\\_diagnostic\\_storage\\_account\\_id) | (optional) The ID of the Storage Account where logs should be sent. | `string` | `null` | no |\n| \u003ca name=\"input_network_plugin\"\u003e\u003c/a\u003e [network\\_plugin](#input\\_network\\_plugin) | (Optional) Network plugin to use for networking. | `string` | `\"kubenet\"` | no |\n| \u003ca name=\"input_network_plugin_mode\"\u003e\u003c/a\u003e [network\\_plugin\\_mode](#input\\_network\\_plugin\\_mode) | (Optional) Specifies the network plugin mode used for building the Kubernetes network. Possible value is overlay. Changing this forces a new resource to be created. | `string` | `null` | no |\n| \u003ca name=\"input_network_policy\"\u003e\u003c/a\u003e [network\\_policy](#input\\_network\\_policy) | (Optional) Sets up network policy to be used with Azure CNI. | `string` | `\"calico\"` | no |\n| \u003ca name=\"input_node_pool_type\"\u003e\u003c/a\u003e [node\\_pool\\_type](#input\\_node\\_pool\\_type) | (Optional) The type of Node Pool which should be created. Possible values are AvailabilitySet and VirtualMachineScaleSets. Defaults to VirtualMachineScaleSets. Changing this forces a new resource to be created | `string` | `\"VirtualMachineScaleSets\"` | no |\n| \u003ca name=\"input_node_resource_group\"\u003e\u003c/a\u003e [node\\_resource\\_group](#input\\_node\\_resource\\_group) | (Optional) The name of the Resource Group where the Kubernetes Nodes should exist. | `string` | `null` | no |\n| \u003ca name=\"input_not_allowed_maintenance_window_end\"\u003e\u003c/a\u003e [not\\_allowed\\_maintenance\\_window\\_end](#input\\_not\\_allowed\\_maintenance\\_window\\_end) | (optional) Required if `enable_not_allowed_maintenance_window` is set to true The end of a time span, formatted as an RFC3339 string. | `string` | `null` | no |\n| \u003ca name=\"input_not_allowed_maintenance_window_start\"\u003e\u003c/a\u003e [not\\_allowed\\_maintenance\\_window\\_start](#input\\_not\\_allowed\\_maintenance\\_window\\_start) | (optional) Required if `enable_not_allowed_maintenance_window` is set to true The start of a time span, formatted as an RFC3339 string. | `string` | `null` | no |\n| \u003ca name=\"input_oidc_issuer_enabled\"\u003e\u003c/a\u003e [oidc\\_issuer\\_enabled](#input\\_oidc\\_issuer\\_enabled) | (Optional) Enable or Disable the OIDC issuer URL | `bool` | `null` | no |\n| \u003ca name=\"input_open_service_mesh_enabled\"\u003e\u003c/a\u003e [open\\_service\\_mesh\\_enabled](#input\\_open\\_service\\_mesh\\_enabled) | (Optional) Is Open Service Mesh enabled? more info: https://docs.microsoft.com/azure/aks/open-service-mesh-about | `bool` | `null` | no |\n| \u003ca name=\"input_outbound_type\"\u003e\u003c/a\u003e [outbound\\_type](#input\\_outbound\\_type) | (Optional) The outbound (egress) routing method which should be used for this Kubernetes Cluster. | `string` | `null` | no |\n| \u003ca name=\"input_partner_solution_id\"\u003e\u003c/a\u003e [partner\\_solution\\_id](#input\\_partner\\_solution\\_id) | (optional) The ID of the market partner solution where Diagnostics Data should be sent. For potential partner integrations, click to learn more about partner integration. | `string` | `null` | no |\n| \u003ca name=\"input_pod_cidr\"\u003e\u003c/a\u003e [pod\\_cidr](#input\\_pod\\_cidr) | (Optional) The CIDR to use for pod IP addresses. | `string` | `null` | no |\n| \u003ca name=\"input_pod_cidrs\"\u003e\u003c/a\u003e [pod\\_cidrs](#input\\_pod\\_cidrs) | (Optional) A list of CIDRs to use for pod IP addresses. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created. | `list(string)` | `null` | no |\n| \u003ca name=\"input_private_cluster_enabled\"\u003e\u003c/a\u003e [private\\_cluster\\_enabled](#input\\_private\\_cluster\\_enabled) | (Optional) Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? | `bool` | `null` | no |\n| \u003ca name=\"input_private_cluster_public_fqdn_enabled\"\u003e\u003c/a\u003e [private\\_cluster\\_public\\_fqdn\\_enabled](#input\\_private\\_cluster\\_public\\_fqdn\\_enabled) | (optional)  Specifies whether a Public FQDN for this Private Cluster should be added. | `bool` | `null` | no |\n| \u003ca name=\"input_private_dns_zone_id\"\u003e\u003c/a\u003e [private\\_dns\\_zone\\_id](#input\\_private\\_dns\\_zone\\_id) | (Optional) Either the ID of Private DNS Zone which should be delegated to this Cluster, System to have AKS manage this or None, see https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_cluster#private_dns_zone_id | `string` | `null` | no |\n| \u003ca name=\"input_role_based_access_control_enabled\"\u003e\u003c/a\u003e [role\\_based\\_access\\_control\\_enabled](#input\\_role\\_based\\_access\\_control\\_enabled) | (Optional) - Whether Role Based Access Control for the Kubernetes Cluster should be enabled. | `bool` | `true` | no |\n| \u003ca name=\"input_run_command_enabled\"\u003e\u003c/a\u003e [run\\_command\\_enabled](#input\\_run\\_command\\_enabled) | (Optional) Whether to enable run command for the cluster or not? | `bool` | `true` | no |\n| \u003ca name=\"input_service_cidr\"\u003e\u003c/a\u003e [service\\_cidr](#input\\_service\\_cidr) | (Optional) The Network Range used by the Kubernetes service. | `string` | `null` | no |\n| \u003ca name=\"input_service_cidrs\"\u003e\u003c/a\u003e [service\\_cidrs](#input\\_service\\_cidrs) | (Optional) A list of CIDRs to use for Kubernetes services. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created. | `list(string)` | `null` | no |\n| \u003ca name=\"input_sku_tier\"\u003e\u003c/a\u003e [sku\\_tier](#input\\_sku\\_tier) | (Optional) The SKU Tier that should be used for this Kubernetes Cluster | `string` | `null` | no |\n| \u003ca name=\"input_snapshot_controller_enabled\"\u003e\u003c/a\u003e [snapshot\\_controller\\_enabled](#input\\_snapshot\\_controller\\_enabled) | (Optional) Is the Snapshot Controller enabled? Defaults to true. | `bool` | `true` | no |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | Tags for the cluster | `map(string)` | `null` | no |\n| \u003ca name=\"input_temporary_name_for_rotation\"\u003e\u003c/a\u003e [temporary\\_name\\_for\\_rotation](#input\\_temporary\\_name\\_for\\_rotation) | (optional) Optional) Specifies the name of the temporary node pool used to cycle the default node pool for VM resizing. | `string` | `\"tempnp\"` | no |\n| \u003ca name=\"input_vnet_integration_enabled\"\u003e\u003c/a\u003e [vnet\\_integration\\_enabled](#input\\_vnet\\_integration\\_enabled) | Should API Server VNet Integration be enabled? For more details please visit [Use API Server VNet Integration.](https://learn.microsoft.com/en-us/azure/aks/api-server-vnet-integration) | `bool` | `false` | no |\n| \u003ca name=\"input_vnet_subnet_id\"\u003e\u003c/a\u003e [vnet\\_subnet\\_id](#input\\_vnet\\_subnet\\_id) | (optional) The ID of the Subnet where this Node Pool should exist.At this time the vnet\\_subnet\\_id must be the same for all node pools in the cluster | `string` | `null` | no |\n| \u003ca name=\"input_windows_profile_admin_password\"\u003e\u003c/a\u003e [windows\\_profile\\_admin\\_password](#input\\_windows\\_profile\\_admin\\_password) | (optional) The Admin Password for Windows VMs.(Required) if windows\\_profile\\_enabled is true. | `string` | `\"Super$ecUreP@$$w04d\"` | no |\n| \u003ca name=\"input_windows_profile_admin_username\"\u003e\u003c/a\u003e [windows\\_profile\\_admin\\_username](#input\\_windows\\_profile\\_admin\\_username) | (optional) The Admin Username for Windows VMs. (Required) if windows\\_profile\\_enabled is true. | `string` | `\"azureadmin\"` | no |\n| \u003ca name=\"input_windows_profile_enabled\"\u003e\u003c/a\u003e [windows\\_profile\\_enabled](#input\\_windows\\_profile\\_enabled) | (optional) Is windows profile enabled? | `bool` | `false` | no |\n| \u003ca name=\"input_windows_profile_license\"\u003e\u003c/a\u003e [windows\\_profile\\_license](#input\\_windows\\_profile\\_license) | (optional)Specifies the type of on-premise license which should be used for Node Pool Windows Virtual Machine | `string` | `\"Windows_Server\"` | no |\n| \u003ca name=\"input_workload_identity_enabled\"\u003e\u003c/a\u003e [workload\\_identity\\_enabled](#input\\_workload\\_identity\\_enabled) | (Optional) Specifies whether Azure AD Workload Identity should be enabled for the Cluster. Defaults to false | `bool` | `null` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_additional_node_pool_ids\"\u003e\u003c/a\u003e [additional\\_node\\_pool\\_ids](#output\\_additional\\_node\\_pool\\_ids) | The IDs of the additional Kubernetes Cluster Node Pools. |\n| \u003ca name=\"output_aks_id\"\u003e\u003c/a\u003e [aks\\_id](#output\\_aks\\_id) | AKS cluster ID |\n| \u003ca name=\"output_azurerm_kubernetes_cluster\"\u003e\u003c/a\u003e [azurerm\\_kubernetes\\_cluster](#output\\_azurerm\\_kubernetes\\_cluster) | Entire AKS cluster object as an output |\n\n\u003c!-- CONTRIBUTING --\u003e\n## Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have any suggestion that would make this project better, feel free to  fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\" with your suggestion.\n\n**⭐️ For Latest updates Don't forget to star the repo! ⭐️**\n\n\u003c!-- LICENSE --\u003e\n## License\n\nReleased under [MIT](/LICENSE) by [@ishuar](https://github.com/ishuar).\n\n\u003c!-- CONTACT --\u003e\n## Contact\n\n- 👯 [LinkedIn](https://linkedin.com/in/ishuar)\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#top\"\u003eBack To Top ⬆️\u003c/a\u003e\u003c/p\u003e\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n\n[contributors-url]: https://github.com/ishuar/terraform-azure-aks/graphs/contributors\n[contributors-shield]: https://img.shields.io/github/contributors/ishuar/terraform-azure-aks?style=for-the-badge\n\n[forks-url]: https://github.com/ishuar/terraform-azure-aks/network/members\n[forks-shield]: https://img.shields.io/github/forks/ishuar/terraform-azure-aks?style=for-the-badge\n\n[stars-url]: https://github.com/ishuar/terraform-azure-aks/stargazers\n[stars-shield]: https://img.shields.io/github/stars/ishuar/terraform-azure-aks?style=for-the-badge\n\n[issues-url]: https://github.com/ishuar/terraform-azure-aks/issues\n[issues-shield]: https://img.shields.io/github/issues/ishuar/terraform-azure-aks?style=for-the-badge\n\n[license-url]: https://github.com/ishuar/terraform-azure-aks/blob/main/LICENSE\n[license-shield]: https://img.shields.io/github/license/ishuar/terraform-azure-aks?style=for-the-badge","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fishuar%2Fterraform-azure-aks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fishuar%2Fterraform-azure-aks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fishuar%2Fterraform-azure-aks/lists"}