Skip to content

cyber-scot/terraform-azurerm-data-factory

Repository files navigation

resource "azurerm_data_factory" "adf" {
  name                = var.name
  location            = var.location
  resource_group_name = var.rg_name
  tags                = var.tags

  public_network_enabled           = var.public_network_enabled
  customer_managed_key_id          = var.customer_managed_key_id
  customer_managed_key_identity_id = var.customer_managed_key_identity_id
  purview_id                       = var.purview_id
  managed_virtual_network_enabled  = var.managed_virtual_network_enabled

  dynamic "github_configuration" {
    for_each = var.github_configuration != null ? [var.github_configuration] : []
    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
      publishing_enabled = github_configuration.value.publishing_enabled
    }
  }

  dynamic "vsts_configuration" {
    for_each = var.vsts_configuration != null ? [var.vsts_configuration] : []
    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
      publishing_enabled = vsts_configuration.value.publishing_enabled
    }
  }

  dynamic "global_parameter" {
    for_each = var.global_parameter != null ? var.global_parameter : []
    content {
      name  = global_parameter.value.name
      type  = global_parameter.value.type
      value = global_parameter.value.value
    }
  }

  dynamic "identity" {
    for_each = length(var.identity_ids) == 0 && var.identity_type == "SystemAssigned" ? [var.identity_type] : []
    content {
      type = var.identity_type
    }
  }

  dynamic "identity" {
    for_each = length(var.identity_ids) > 0 || var.identity_type == "UserAssigned" ? [var.identity_type] : []
    content {
      type         = var.identity_type
      identity_ids = length(var.identity_ids) > 0 ? var.identity_ids : []
    }
  }

  dynamic "identity" {
    for_each = length(var.identity_ids) > 0 || var.identity_type == "SystemAssigned, UserAssigned" ? [var.identity_type] : []
    content {
      type         = var.identity_type
      identity_ids = length(var.identity_ids) > 0 ? var.identity_ids : []
    }
  }

}

Requirements

No requirements.

Providers

Name Version
azurerm n/a

Modules

No modules.

Resources

Name Type
azurerm_data_factory.adf resource

Inputs

Name Description Type Default Required
customer_managed_key_id The customer managed key id if used string null no
customer_managed_key_identity_id The customer managed key identity id if used string null no
github_configuration The github configuration block if used
object({
account_name = string
branch_name = string
git_url = string
repository_name = string
root_folder = string
publishing_enabled = optional(bool, true)
})
null no
global_parameter The global parameter blocks if used
list(object({
name = string
type = string
value = string
}))
null no
identity_ids Specifies a list of user managed identity ids to be assigned to the VM. list(string) [] no
identity_type The Managed Service Identity Type of this Virtual Machine. string "" no
location The location for this resource to be put in string n/a yes
managed_virtual_network_enabled Whether a managed virtual network is enabled in this ADF bool false no
name The name of the VNet gateway string n/a yes
public_network_enabled Whether public network is enabled bool false no
purview_id The purview id if used string null no
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 A map of the tags to use on the resources that are deployed with this module. map(string) n/a yes
vsts_configuration The vsts configuration block if used
object({
account_name = string
branch_name = string
project_name = string
repository_name = string
root_folder = string
tenant_id = string
publishing_enabled = optional(bool, true)
})
null no

Outputs

Name Description
factory_id The ID of the factory
factory_identity The identity block of the data factory

About

A module used to deploy an Azure Data Factory πŸ­πŸ’½

Resources

License

Stars

Watchers

Forks

Packages

No packages published