Skip to content

databases/mssql_managed_instance_v1

Overview

This page documents the Terraform module implementation, key configuration surfaces, and how it integrates with CAF.

Dependency diagram (Mermaid)

graph TD azurerm_key_vault_secret.sqlmi_admin_password["azurerm_key_vault_secret.sqlmi_admin_password"] azurerm_mssql_managed_instance.mssqlmi["azurerm_mssql_managed_instance.mssqlmi"] data.azurecaf_name.mssqlmi["data.azurecaf_name.mssqlmi"] data.azurerm_resource_group.mi["data.azurerm_resource_group.mi"] module.private_endpoint["module.private_endpoint"] module.var_identity["module.var_identity"] module.var_login["module.var_login"] module.var_settings["module.var_settings"] random_password.sqlmi_admin["random_password.sqlmi_admin"] azurerm_key_vault_secret.sqlmi_admin_password --> azurerm_mssql_managed_instance.mssqlmi azurerm_key_vault_secret.sqlmi_admin_password --> random_password.sqlmi_admin azurerm_mssql_managed_instance.mssqlmi --> data.azurecaf_name.mssqlmi azurerm_mssql_managed_instance.mssqlmi --> module.var_identity azurerm_mssql_managed_instance.mssqlmi --> module.var_settings azurerm_mssql_managed_instance.mssqlmi --> random_password.sqlmi_admin module.private_endpoint --> azurerm_mssql_managed_instance.mssqlmi module.var_identity --> module.var_settings module.var_login --> random_password.sqlmi_admin

Module Reference

Category: databases
Path: modules/databases/mssql_managed_instance_v1
Azure Resources: azurerm_key_vault_secret, azurerm_mssql_managed_instance, random_password

Inputs

Name Description Type Required Default Validation
global_settings Global settings object (see module README.md) any yes - -
client_config Client configuration object (see module README.md). any yes - -
inherit_tags Base tags for the resource to be inherited from the resource group. bool yes - -
subnet_id any yes - -
resource_group_name (Required) The name of the resource group where to create the resource. string yes - -
resource_group (Required) The resource group where to create the resource. any no {} -
location (Required) Specifies the supported Azure location where to create the resource. Changing this forces a new resource t... string yes - -
managed_identities any yes - -
group_id The ID of the Azure Active Directory Group that should be granted access to the Managed Instance Administrators. string no - -
keyvault any yes - -
resource_groups any yes - -
vnets any yes - -
private_endpoints any yes - -
base_tags Base tags for the resource to be inherited from the resource group. map(any) yes - -
private_dns any no {} -
primary_server_id any yes - -
settings any yes - format("The following attributes are not supported. Adjust your configuration file: %s", join(", ", setsubtract(keys(var.settings), [administrator_login_password, administrator_login, administrators, authentication_mode, backup_storage_redundancy, collation, identity, instance_pool_id, keyvault, license_type, maintenance_configuration_name, mi_create_mode, minimal_tls_version, name, networking, primary_server, proxy_override, public_data_endpoint_enabled, region, resource_group, restore_point_in_time, service_principal, sku, storage_size_in_gb, tags, timezone_id, transparent_data_encryption, vcores, version, zone_redundant])))

Outputs

Name Description Sensitive Value
id SQL Managed instance Id - azurerm_mssql_managed_instance.mssqlmi.id
fqdn The fully qualified domain name of the Azure Managed SQL Instance - azurerm_mssql_managed_instance.mssqlmi.fqdn
name SQL MI Name - data.azurecaf_name.mssqlmi.result
location - local.location
principal_id SQL Managed Instance Principal Id - can(var.settings.identity) ? azurerm_mssql_managed_instance.mssqlmi.identity[0].principal_id : null
identity SQL Managed Instance identities - can(var.settings.identity) ? azurerm_mssql_managed_instance.mssqlmi.identity : null
dns_zone_id this is the zone id extracted from sql managed instance server fqdn and can be used while creating private dns zone f... - local.dns_zone_id
resource_group_id Resource group id of the sql mi server. - local.resource_group_id

Sources

  • modules/databases/mssql_managed_instance_v1/data.tf
  • modules/databases/mssql_managed_instance_v1/locals.tf
  • modules/databases/mssql_managed_instance_v1/main.tf
  • modules/databases/mssql_managed_instance_v1/managed_identities.tf
  • modules/databases/mssql_managed_instance_v1/managed_instance.tf
  • modules/databases/mssql_managed_instance_v1/outputs.tf
  • modules/databases/mssql_managed_instance_v1/private_endpoints.tf
  • modules/databases/mssql_managed_instance_v1/variables.tf