locals { container_name1 = split(" ", lower(var.user_id)) container_namePart1 = substr(element(local.container_name1,0), 0, 3) container_namePart2 = substr(element(local.container_name1,1), 0, 1) container_namePart3 = substr(strrev(element(local.container_name1,1)), 0, 1) container_name = "${local.container_namePart1}${local.container_namePart2}${local.container_namePart3}" container_name_upper = upper(local.container_name) } resource "random_id" "randomServerId" { keepers = { # Generate a new ID only when a new resource group is defined resource_group = var.resource_group_name } byte_length = 2 } /*resource "azurerm_storage_account" "sasql" { name = "saccountsql${random_id.randomServerId.hex}" resource_group_name = var.resource_group_name location = var.location account_tier = "Standard" account_replication_type = "LRS" }*/ resource "azurerm_sql_server" "synapse" { name = "qliksyn-${random_id.randomServerId.hex}" resource_group_name = var.resource_group_name location = var.location version = "12.0" administrator_login = var.administrator_login administrator_login_password = var.administrator_login_password tags = { Deployment = "QMI PoC" "Cost Center" = "3100" QMI_user = var.user_id } identity { type = "SystemAssigned" } } /*resource "azurerm_mssql_server_extended_auditing_policy" "auditing_policy_server" { server_id = azurerm_sql_server.synapse.id storage_endpoint = azurerm_storage_account.sasql.primary_blob_endpoint storage_account_access_key = azurerm_storage_account.sasql.primary_access_key storage_account_access_key_is_secondary = false retention_in_days = 6 }*/ resource "azurerm_sql_virtual_network_rule" "sqlvnetrule" { name = "sql-vnet-rule-${random_id.randomServerId.hex}" resource_group_name = var.resource_group_name server_name = azurerm_sql_server.synapse.name subnet_id = var.subnet_id } resource "azurerm_sql_database" "db" { name = "${local.container_name_upper}DEMOPOOL" resource_group_name = var.resource_group_name location = var.location server_name = azurerm_sql_server.synapse.name create_mode = "Default" edition = "DataWarehouse" collation = "SQL_LATIN1_GENERAL_CP1_CI_AS" max_size_bytes = 268435456000 tags = { Deployment = "QMI PoC" "Cost Center" = "3100" QMI_user = var.user_id ADAAutomation = "SQLDWSuspend" } } resource "azurerm_sql_database" "db2" { name = "demoDB" resource_group_name = var.resource_group_name location = var.location server_name = azurerm_sql_server.synapse.name create_mode = "Default" tags = { Deployment = "QMI PoC" "Cost Center" = "3100" QMI_user = var.user_id } } /*resource "azurerm_mssql_database_extended_auditing_policy" "auditing_policy_db" { database_id = azurerm_sql_database.db.id storage_endpoint = azurerm_storage_account.sasql.primary_blob_endpoint storage_account_access_key = azurerm_storage_account.sasql.primary_access_key storage_account_access_key_is_secondary = false retention_in_days = 6 }*/ /*resource "azurerm_storage_account_network_rules" "sasynapsenetrules" { depends_on = [azurerm_mssql_database_extended_auditing_policy.auditing_policy_db] resource_group_name = var.resource_group_name storage_account_name = azurerm_storage_account.sasql.name default_action = "Deny" ip_rules = ["52.170.21.101", "206.196.17.36", "188.65.156.34"] virtual_network_subnet_ids = [var.subnet_id] bypass = ["AzureServices", "Metrics"] }*/