https://github.com/libre-devops/terraform-azurerm-databricks-vnet-injection
A module used to deploy a VNet injection Databricks workspace solution 🛜💉
https://github.com/libre-devops/terraform-azurerm-databricks-vnet-injection
Last synced: about 1 month ago
JSON representation
A module used to deploy a VNet injection Databricks workspace solution 🛜💉
- Host: GitHub
- URL: https://github.com/libre-devops/terraform-azurerm-databricks-vnet-injection
- Owner: libre-devops
- License: mit
- Created: 2025-01-19T19:25:01.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-01-19T21:31:47.000Z (3 months ago)
- Last Synced: 2025-01-19T22:26:54.334Z (3 months ago)
- Language: PowerShell
- Size: 23.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
```hcl
module "rg" {
source = "libre-devops/rg/azurerm"rg_name = var.rg_name
location = var.location
tags = var.tags
}module "subnet_calculator" {
source = "libre-devops/subnet-calculator/null"base_cidr = var.vnet_address_space[0]
subnets = {
(var.databricks_public_subnet_name) = {
mask_size = 27
netnum = 0
},
(var.databricks_private_subnet_name) = {
mask_size = 27
netnum = 1
}
}
}module "network" {
source = "libre-devops/network/azurerm"rg_name = module.rg.rg_name
location = module.rg.rg_location
tags = module.rg.rg_tagsvnet_name = var.vnet_name
vnet_location = module.rg.rg_location
vnet_address_space = var.vnet_address_spacesubnets = { for i, name in module.subnet_calculator.subnet_names :
name => {
address_prefixes = toset([module.subnet_calculator.subnet_ranges[i]])
delegation = [
{
type = "Microsoft.Databricks/workspaces"
}
]
}
}
}module "private_nsg" {
source = "libre-devops/nsg/azurerm"rg_name = module.rg.rg_name
location = module.rg.rg_location
tags = module.rg.rg_tagsnsg_name = var.private_nsg_name
associate_with_subnet = true
apply_standard_rules = false
subnet_id = module.network.subnets_ids["private"]
custom_nsg_rules = {}
}module "public_nsg" {
source = "libre-devops/nsg/azurerm"rg_name = module.rg.rg_name
location = module.rg.rg_location
tags = module.rg.rg_tagsnsg_name = var.public_nsg_name
associate_with_subnet = true
apply_standard_rules = false
subnet_id = module.network.subnets_ids["public"]
custom_nsg_rules = {}
}module "databricks_workspace" {
source = "libre-devops/databricks-workspace/azurerm"databricks_workspaces = [
{
rg_name = module.rg.rg_name
location = module.rg.rg_location
tags = module.rg.rg_tagsname = var.databricks_workspace_name
sku = var.databricks_workspace_skucustom_parameters = {
no_public_ip = true
public_subnet_name = var.databricks_public_subnet_name
public_subnet_network_security_group_association_id = module.public_nsg.nsg_subnet_association_ids[0]
private_subnet_name = var.databricks_private_subnet_name
private_subnet_network_security_group_association_id = module.private_nsg.nsg_subnet_association_ids[0]
virtual_network_id = module.network.vnet_id
vnet_address_prefix = var.vnet_address_space[0]
}
}
]
}
```
## RequirementsNo requirements.
## Providers
No providers.
## Modules
| Name | Source | Version |
|------|--------|---------|
| [databricks\_workspace](#module\_databricks\_workspace) | libre-devops/databricks-workspace/azurerm | n/a |
| [network](#module\_network) | libre-devops/network/azurerm | n/a |
| [private\_nsg](#module\_private\_nsg) | libre-devops/nsg/azurerm | n/a |
| [public\_nsg](#module\_public\_nsg) | libre-devops/nsg/azurerm | n/a |
| [rg](#module\_rg) | libre-devops/rg/azurerm | n/a |
| [subnet\_calculator](#module\_subnet\_calculator) | libre-devops/subnet-calculator/null | n/a |## Resources
No resources.
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [databricks\_private\_subnet\_name](#input\_databricks\_private\_subnet\_name) | The name of the private subnet to create for the Databricks workspace | `string` | `"private"` | no |
| [databricks\_public\_subnet\_name](#input\_databricks\_public\_subnet\_name) | The name of the public subnet to create for the Databricks workspace | `string` | `"public"` | no |
| [databricks\_workspace\_name](#input\_databricks\_workspace\_name) | The name of the Databricks workspace | `string` | n/a | yes |
| [databricks\_workspace\_sku](#input\_databricks\_workspace\_sku) | The SKU of the Databricks workspace | `string` | `"premium"` | no |
| [location](#input\_location) | The location for this resource to be put in | `string` | `"uksouth"` | no |
| [private\_nsg\_name](#input\_private\_nsg\_name) | The name of the private subnet NSG to create for the Databricks workspace | `string` | `"private"` | no |
| [public\_nsg\_name](#input\_public\_nsg\_name) | The name of the public subnet NSG to create for the Databricks workspace | `string` | `"public"` | no |
| [rg\_name](#input\_rg\_name) | The name of the resource group, this module does not create a resource group, it is expecting the value of a resource group already exists | `string` | n/a | yes |
| [tags](#input\_tags) | A map of the tags to use on the resources that are deployed with this module. | `map(string)` | n/a | yes |
| [vnet\_address\_space](#input\_vnet\_address\_space) | The address space for the VNet | `list(string)` |[| no |
"10.0.0.0/16"
]
| [vnet\_name](#input\_vnet\_name) | The name of the VNet to inject the Databricks workspace into | `string` | n/a | yes |## Outputs
No outputs.