main.linkedservices.tf (156 lines of code) (raw):

resource "azurerm_data_factory_linked_service_azure_blob_storage" "this" { for_each = var.linked_service_azure_blob_storage data_factory_id = azurerm_data_factory.this.id name = each.value.name additional_properties = each.value.additional_properties annotations = each.value.annotations connection_string = each.value.connection_string connection_string_insecure = each.value.connection_string_insecure description = each.value.description integration_runtime_name = each.value.integration_runtime_name parameters = each.value.parameters sas_uri = each.value.sas_uri service_endpoint = each.value.service_endpoint service_principal_id = each.value.service_principal_id service_principal_key = each.value.service_principal_key storage_kind = each.value.storage_kind tenant_id = each.value.tenant_id use_managed_identity = each.value.use_managed_identity dynamic "key_vault_sas_token" { for_each = each.value.key_vault_sas_token != null ? [each.value.key_vault_sas_token] : [] content { linked_service_name = key_vault_sas_token.value.linked_service_name secret_name = key_vault_sas_token.value.secret_name } } dynamic "service_principal_linked_key_vault_key" { for_each = each.value.service_principal_linked_key_vault_key != null ? [each.value.service_principal_linked_key_vault_key] : [] content { linked_service_name = service_principal_linked_key_vault_key.value.linked_service_name secret_name = service_principal_linked_key_vault_key.value.secret_name } } } resource "azurerm_data_factory_linked_service_azure_databricks" "this" { for_each = var.linked_service_databricks adb_domain = each.value.adb_domain data_factory_id = azurerm_data_factory.this.id name = each.value.name # Authentication Options (Only one can be specified) access_token = each.value.access_token additional_properties = each.value.additional_properties annotations = each.value.annotations description = each.value.description # Cluster Integration Options (Only one can be specified) existing_cluster_id = each.value.existing_cluster_id integration_runtime_name = each.value.integration_runtime_name msi_work_space_resource_id = each.value.msi_work_space_resource_id parameters = each.value.parameters dynamic "instance_pool" { for_each = each.value.instance_pool != null ? [each.value.instance_pool] : [] content { cluster_version = instance_pool.value.cluster_version instance_pool_id = instance_pool.value.instance_pool_id max_number_of_workers = instance_pool.value.max_number_of_workers min_number_of_workers = instance_pool.value.min_number_of_workers } } dynamic "key_vault_password" { for_each = each.value.key_vault_password != null ? [each.value.key_vault_password] : [] content { linked_service_name = key_vault_password.value.linked_service_name secret_name = key_vault_password.value.secret_name } } dynamic "new_cluster_config" { for_each = each.value.new_cluster_config != null ? [each.value.new_cluster_config] : [] content { cluster_version = new_cluster_config.value.cluster_version node_type = new_cluster_config.value.node_type custom_tags = new_cluster_config.value.custom_tags driver_node_type = new_cluster_config.value.driver_node_type init_scripts = new_cluster_config.value.init_scripts log_destination = new_cluster_config.value.log_destination max_number_of_workers = new_cluster_config.value.max_number_of_workers min_number_of_workers = new_cluster_config.value.min_number_of_workers spark_config = new_cluster_config.value.spark_config spark_environment_variables = new_cluster_config.value.spark_environment_variables } } } resource "azurerm_data_factory_linked_service_azure_file_storage" "this" { for_each = var.linked_service_azure_file_storage connection_string = each.value.connection_string data_factory_id = azurerm_data_factory.this.id name = each.value.name additional_properties = each.value.additional_properties annotations = each.value.annotations description = each.value.description file_share = each.value.file_share host = each.value.host integration_runtime_name = each.value.integration_runtime_name parameters = each.value.parameters password = each.value.password user_id = each.value.user_id dynamic "key_vault_password" { for_each = each.value.key_vault_password != null ? [each.value.key_vault_password] : [] content { linked_service_name = key_vault_password.value.linked_service_name secret_name = key_vault_password.value.secret_name } } } resource "azurerm_data_factory_linked_service_azure_sql_database" "this" { for_each = var.linked_service_azure_sql_database data_factory_id = azurerm_data_factory.this.id name = each.value.name additional_properties = each.value.additional_properties annotations = each.value.annotations connection_string = each.value.connection_string description = each.value.description integration_runtime_name = each.value.integration_runtime_name parameters = each.value.parameters service_principal_id = each.value.service_principal_id service_principal_key = each.value.service_principal_key tenant_id = each.value.tenant_id use_managed_identity = each.value.use_managed_identity dynamic "key_vault_connection_string" { for_each = each.value.key_vault_connection_string != null ? [each.value.key_vault_connection_string] : [] content { linked_service_name = key_vault_connection_string.value.linked_service_name secret_name = key_vault_connection_string.value.secret_name } } dynamic "key_vault_password" { for_each = each.value.key_vault_password != null ? [each.value.key_vault_password] : [] content { linked_service_name = key_vault_password.value.linked_service_name secret_name = key_vault_password.value.secret_name } } } resource "azurerm_data_factory_linked_service_data_lake_storage_gen2" "this" { for_each = var.linked_service_data_lake_storage_gen2 data_factory_id = azurerm_data_factory.this.id name = each.value.name url = each.value.url additional_properties = each.value.additional_properties annotations = each.value.annotations description = each.value.description integration_runtime_name = each.value.integration_runtime_name parameters = each.value.parameters service_principal_id = each.value.service_principal_id service_principal_key = each.value.service_principal_key storage_account_key = each.value.storage_account_key tenant = each.value.tenant use_managed_identity = each.value.use_managed_identity } resource "azurerm_data_factory_linked_service_key_vault" "this" { for_each = var.linked_service_key_vault data_factory_id = azurerm_data_factory.this.id key_vault_id = each.value.key_vault_id name = each.value.name additional_properties = each.value.additional_properties annotations = each.value.annotations description = each.value.description integration_runtime_name = each.value.integration_runtime_name parameters = each.value.parameters }