Files
qmi-cloud-tf-modules/databases/synapse/main.tf
2021-08-04 16:06:48 +02:00

116 lines
4.0 KiB
HCL

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"]
}*/