jdrago999 / terraform-azurerm-data-factory

Terraform module for Azure Data Factory

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Azure Data Factory

Changelog Notice Apache V2 License TF Registry

This module creates an Azure Data Factory with diagnostic settings enabled.

Global versioning rule for Claranet Azure modules

Module version Terraform version AzureRM version
>= 7.x.x 1.3.x >= 3.0
>= 6.x.x 1.x >= 3.0
>= 5.x.x 0.15.x >= 2.0
>= 4.x.x 0.13.x / 0.14.x >= 2.0
>= 3.x.x 0.12.x >= 2.0
>= 2.x.x 0.12.x < 2.0
< 2.x.x 0.11.x < 2.0

Contributing

If you want to contribute to this repository, feel free to use our pre-commit git hook configuration which will help you automatically update and format some files for you by enforcing our Terraform code module best-practices.

More details are available in the CONTRIBUTING.md file.

Usage

This module is optimized to work with the Claranet terraform-wrapper tool which set some terraform variables in the environment needed by this module. More details about variables set by the terraform-wrapper available in the documentation.

module "azure_region" {
  source  = "claranet/regions/azurerm"
  version = "x.x.x"

  azure_region = var.azure_region
}

module "rg" {
  source  = "claranet/rg/azurerm"
  version = "x.x.x"

  location    = module.azure_region.location
  client_name = var.client_name
  environment = var.environment
  stack       = var.stack
}

module "logs" {
  source  = "claranet/run-common/azurerm//modules/logs"
  version = "x.x.x"

  client_name         = var.client_name
  environment         = var.environment
  stack               = var.stack
  location            = module.azure_region.location
  location_short      = module.azure_region.location_short
  resource_group_name = module.rg.resource_group_name
}

module "data_factory" {
  source  = "claranet/data-factory/azurerm"
  version = "x.x.x"

  client_name    = var.client_name
  environment    = var.environment
  location       = module.azure_region.location
  location_short = module.azure_region.location_short
  stack          = var.stack

  resource_group_name = module.rg.resource_group_name

  integration_runtime_type = "SelfHosted"

  logs_destinations_ids = [module.logs.log_analytics_workspace_id]
  logs_retention_days   = 90
}

Providers

Name Version
azurecaf >= 1.2.22
azurerm ~> 3.22

Modules

Name Source Version
diagnostics claranet/diagnostic-settings/azurerm 6.2.0

Resources

Name Type
azurecaf_name.data_factory_name resource
azurerm_data_factory.main_data_factory resource
azurerm_data_factory_integration_runtime_azure.integration_runtime resource
azurerm_data_factory_integration_runtime_azure_ssis.integration_runtime resource
azurerm_data_factory_integration_runtime_self_hosted.integration_runtime resource

Inputs

Name Description Type Default Required
azure_devops_configuration Azure DevOps configuration for data factory. See documentation at https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/data_factory#vsts_configuration map(string) null no
client_name Client name/account used in naming string n/a yes
custom_data_factory_name Custom name of the Data Factory, generated if not set. string null no
custom_diagnostic_settings_name Custom name of the diagnostics settings, name will be 'default' if not set. string "default" no
default_tags_enabled Option to enable or disable default tags bool true no
environment Project environment string n/a yes
extra_tags Extra tags to add map(string) {} no
github_configuration Github configuration for data factory. See documentation at https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/data_factory#github_configuration map(string) null no
global_parameters Global parameters for data factory. See documentation at https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/data_factory#global_parameter list(map(string)) [] no
integration_runtime_configuration Parameters used to configure AzureSSIS integration runtime:
node_size (optional, defaults to Standard_D2_v3)
number_of_nodes (optional, defaults to 1)
max_parallel_executions_per_nodes (optional, defaults to 1)
edition (optional, defaults to Standard)
license_type (optional, defaults to LicenseIncluded)
Parameters used to configure Azure integration runtime
cleanup_enabled (optional, defaults to true)
compute_type (optional, defaults to General)
core_count (optional, defaults to 8)
time_to_live_min (optional, defaults to 0)
virtual_network_enabled (optional, defaults to false)
map(any) {} no
integration_runtime_custom_name Name of the integration_runtime resource string null no
integration_runtime_description Integration runtime description string null no
integration_runtime_type Specifies the integration runtime type. Possible values are Azure, AzureSSIS and SelfHosted string null no
location Azure region to use string n/a yes
location_short Short string for Azure location string n/a yes
logs_categories Log categories to send to destinations. list(string) null no
logs_destinations_ids List of destination resources IDs for logs diagnostic destination.
Can be Storage Account, Log Analytics Workspace and Event Hub. No more than one of each can be set.
If you want to specify an Azure EventHub to send logs and metrics to, you need to provide a formated string with both the EventHub Namespace authorization send ID and the EventHub name (name of the queue to use in the Namespace) separated by the `
` character. list(string) n/a
logs_metrics_categories Metrics categories to send to destinations. list(string) null no
logs_retention_days Number of days to keep logs on storage account. number 30 no
managed_virtual_network_enabled True to enable managed virtual network bool true no
name_prefix Optional prefix for the generated name string "" no
name_suffix Optional suffix for the generated name string "" no
public_network_enabled True to make data factory visible to the public network bool false no
resource_group_name Name of the resource group string n/a yes
stack Project stack name string n/a yes
use_caf_naming Use the Azure CAF naming provider to generate default resource name. custom_name override this if set. Legacy default name is used if this is set to false. bool true no

Outputs

Name Description
data_factory_id Data factory id
data_factory_integration_runtime_id Data factory integration runtime id
data_factory_integration_runtime_type Data factory integration runtime type
data_factory_managed_identity Type of managed identity
data_factory_name Data factory name
data_factory_self_hosted_integration_runtime_primary_authorization_key The self hosted integration runtime primary authentication key
data_factory_self_hosted_integration_runtime_secondary_authorization_key The self hosted integration runtime secondary authentication key

Related documentation

Microsoft Azure documentation: docs.microsoft.com/en-us/azure/data-factory

About

Terraform module for Azure Data Factory

License:Apache License 2.0


Languages

Language:HCL 100.0%