Skip to content

Commit

Permalink
Merge pull request #354 from jleonelion/master
Browse files Browse the repository at this point in the history
  • Loading branch information
LaurentLesle committed Mar 29, 2021
2 parents f759837 + 16a5f1b commit 18975a9
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 5 deletions.
16 changes: 12 additions & 4 deletions examples/synapse_analytics/100-synapse/configuration.tfvars
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,18 @@ synapse_workspaces = {
storage_account_key = "synapsestorage_re1"
container_key = "synaspe_filesystem"
}
workspace_firewall = {
name = "AllowAll"
start_ip = "0.0.0.0"
end_ip = "255.255.255.255"
workspace_firewalls = {
AllowAll = {
name = "AllowAll"
start_ip = "0.0.0.0"
end_ip = "255.255.255.255"
}
# example of defining multiple firewall rules; although in this example, makes no sense b/c AllowAll opens to all possible IPs
AllowSome = {
# if name attribute is not defined here, key will be used as name ("AllowSome")
start_ip = "0.0.0.0"
end_ip = "10.255.255.255"
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ synapse_workspaces = {
storage_account_key = "synapsestorage_re1"
container_key = "synaspe_filesystem"
}
# only defining a single firewall rule in this example
workspace_firewall = {
name = "AllowAll"
start_ip = "0.0.0.0"
Expand Down
18 changes: 17 additions & 1 deletion modules/analytics/synapse/workspace.tf
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,25 @@ resource "azurerm_key_vault_secret" "synapse_rg_name" {
key_vault_id = var.keyvault_id
}

# for backwards compatibility to create single firewall rule
resource "azurerm_synapse_firewall_rule" "wrkspc_firewall" {
count = try(var.settings.workspace_firewall, null) == null ? 1 :

name = var.settings.workspace_firewall.name
synapse_workspace_id = azurerm_synapse_workspace.ws.id
start_ip_address = var.settings.workspace_firewall.start_ip
end_ip_address = var.settings.workspace_firewall.end_ip
}
}

# supports adding multiple synapse firewall rules
resource "azurerm_synapse_firewall_rule" "wrkspc_firewalls" {
for_each = try(var.settings.workspace_firewalls, {})

# use key as firewall name if name attribute not defined
name = try(each.value.name, each.key)
synapse_workspace_id = azurerm_synapse_workspace.ws.id
# start_ip and end_ip must be specified in each individual workspace_firewall_rule
start_ip_address = each.value.start_ip
end_ip_address = each.value.end_ip
}

0 comments on commit 18975a9

Please sign in to comment.