Skip to content

Files

Latest commit

a59eb4d · Apr 2, 2025

History

History

adb-lakehouse

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Mar 2, 2023
Apr 2, 2025
Jan 23, 2024
Apr 2, 2025
Apr 2, 2025
Apr 2, 2025
Apr 2, 2025
Apr 2, 2025
Apr 2, 2025
Apr 2, 2025
Apr 2, 2025

Lakehouse terraform blueprints

This module contains Terraform code used to provision a Lakehouse platform.

Module content

This module can be used to deploy the following:

Azure Lakehouse platform

  • A new resource group
  • Networking resources including:
    • Azure vnet
    • The required subnets for the Azure Databricks workspace.
    • Azure route table (if needed)
    • Network Security Group (NSG)
  • The Lakehouse platform resources, including:
    • Azure Databricks workspace
    • Azure Data Factory
    • Azure Key Vault
    • Azure Storage account

How to use

Note
You can customize this module by adding, deleting or updating the Azure resources to adapt the module to your requirements. A deployment example using this module can be found in examples/adb-lakehouse

  1. Reference this module using one of the different module source types
  2. Add a variables.tf with the same content in variables.tf
  3. Add a terraform.tfvars file and provide values to each defined variable
  4. Add a output.tf file.
  5. (Optional) Configure your remote backend
  6. Run terraform init to initialize terraform and get provider ready.
  7. Run terraform apply to create the resources.

Requirements

Name Version
azurerm >=4.0.0

Providers

Name Version
azurerm >=4.0.0

Modules

No modules.

Resources

Name Type
azurerm_data_factory.adf resource
azurerm_databricks_workspace.this resource
azurerm_key_vault.example resource
azurerm_network_security_group.this resource
azurerm_resource_group.this resource
azurerm_route_table.this resource
azurerm_storage_account.dls resource
azurerm_subnet.private resource
azurerm_subnet.public resource
azurerm_subnet_network_security_group_association.private resource
azurerm_subnet_network_security_group_association.public resource
azurerm_subnet_route_table_association.private resource
azurerm_subnet_route_table_association.public resource
azurerm_virtual_network.this resource
azurerm_client_config.current data source
azurerm_resource_group.this data source

Inputs

Name Description Type Default Required
create_resource_group (Optional) Creates resource group if set to true (default) bool true no
data_factory_name The name of the Azure Data Factory to deploy. Won't be created if not specified string "" no
databricks_workspace_name Name of Databricks workspace string n/a yes
environment_name (Required) The name of the project environment associated with the infrastructure to be managed by Terraform string n/a yes
key_vault_name The name of the Azure Key Vault to deploy. Won't be created if not specified string "" no
location (Optional if create_resource_group is set to false) The location for the resources in this module string n/a yes
managed_resource_group_name (Optional) The name of the resource group where Azure should place the managed Databricks resources string "" no
private_subnet_address_prefixes Address space for private Databricks subnet list(string) n/a yes
project_name (Required) The name of the project associated with the infrastructure to be managed by Terraform string n/a yes
public_subnet_address_prefixes Address space for public Databricks subnet list(string) n/a yes
spoke_resource_group_name (Required) The name of the Resource Group to create string n/a yes
spoke_vnet_address_space (Required) The address space for the spoke Virtual Network string n/a yes
storage_account_names Names of additional storage accounts to create list(string) [] no
tags (Required) Map of tags to attach to resources map(string) n/a yes

Outputs

Name Description
azure_resource_group_id ID of the created or existing Azure resource group
azure_resource_group_location Location of the created or existing Azure resource group
nsg_id Depricated ID of the new NSG
rg_id Depricated ID of the resource group
rg_name Depricated Name of the resource group
route_table_id Depricated ID of the new route table
vnet_id Depricated ID of the new Vnet
workspace_id ID of the Databricks workspace
workspace_name Depricated Name of the Databricks workspace
workspace_resource_id Depricated ID of the Databricks workspace resource
workspace_url URL of the Databricks workspace