infrastructure/terraform/modules/datafactory/datafactory.tf (40 lines of code) (raw):
resource "azurerm_data_factory" "data_factory" {
name = var.adf_service_name
location = var.location
resource_group_name = var.resource_group_name
tags = var.tags
identity {
type = "SystemAssigned"
}
managed_virtual_network_enabled = false # Change in prod
public_network_enabled = true # Change in prod
dynamic "global_parameter" {
for_each = var.data_factory_global_parameters
content {
name = global_parameter.key
type = global_parameter.value.type
value = global_parameter.value.value
}
}
dynamic "github_configuration" {
for_each = length(compact(values(var.data_factory_github_repo))) == 5 ? [var.data_factory_github_repo] : []
content {
account_name = github_configuration.value["account_name"]
branch_name = github_configuration.value["branch_name"]
git_url = github_configuration.value["git_url"]
repository_name = github_configuration.value["repository_name"]
root_folder = github_configuration.value["root_folder"]
}
}
dynamic "vsts_configuration" {
for_each = length(compact(values(var.data_factory_azure_devops_repo))) == 6 ? [var.data_factory_azure_devops_repo] : []
content {
account_name = vsts_configuration.value["account_name"]
branch_name = vsts_configuration.value["branch_name"]
project_name = vsts_configuration.value["project_name"]
repository_name = vsts_configuration.value["repository_name"]
root_folder = vsts_configuration.value["root_folder"]
tenant_id = vsts_configuration.value["tenant_id"]
}
}
}