This module contains Terraform code used to provision a Lakehouse platform.
This module can be used to deploy the following:
- 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
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
- Reference this module using one of the different module source types
- Add a
variables.tf
with the same content in variables.tf - Add a
terraform.tfvars
file and provide values to each defined variable - Add a
output.tf
file. - (Optional) Configure your remote backend
- Run
terraform init
to initialize terraform and get provider ready. - Run
terraform apply
to create the resources.
Name | Version |
---|---|
azurerm | >=4.0.0 |
Name | Version |
---|---|
azurerm | >=4.0.0 |
No modules.
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 |
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 |
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 |