Bicep Module Documentation

← Back to Overview

Module data-factory

dataFactory

Property Value Description
general (required) general
identity identity
publicNetworkAccess 'Disabled'
'Enabled'
Whether or not public network access is allowed for the data factory.
encryption encryption Properties to enable Customer Managed Key for the factory.
repoConfiguration repoConfiguration Git repo configuration of the factory.
managedPrivateEndpoints managedPrivateEndpoints[]
globalParameters object List of parameters for factory.
integrationRuntimes integrationRuntimes[]
privateLink privateLink Settings for the private endpoint and private link for this resource [dataFactory].
privateLinkPortal privateLink Settings for the private endpoint and private link for this resource [portal].

identity

Property Value Description
userAssignedIdentity (required) string

encryption

Property Value Description
keyName (required) string The name of the key in Azure Key Vault to use as Customer Managed Key.
vaultBaseUrl (required) string The url of the Azure Key Vault used for CMK.
keyVersion string The version of the key used for CMK. If not provided, latest version will be used.
identity identity

managedPrivateEndpoints

Property Value Description
name (required) string
groupId (required) string
privateLinkResourceId (required) string

integrationRuntimes

Property Value Description
name (required) string
properties (required) integrationRuntime

integrationRuntime

Set the type property to specify the type of object.

For Managed, use:

Property Value Description

Set the type property to specify the type of object.

For SelfHosted, use:

Property Value Description

managedRuntime

Property Value Description
type (required) 'Managed'
typeProperties (required) typeProperties
managedVirtualNetwork (required) managedVirtualNetwork

dataFlowProperties

Property Value Description
computeType (required) string
coreCount (required) int
timeToLive (required) int
cleanup (required) bool
customProperties array

pipelineExternalComputeScaleProperties

Property Value Description
timeToLive (required) int
numberOfPipelineNodes (required) int
numberOfExternalNodes (required) int

computeProperties

Property Value Description
location (required) string
dataFlowProperties (required) dataFlowProperties
pipelineExternalComputeScaleProperties (required) pipelineExternalComputeScaleProperties

typeProperties

Property Value Description
computeProperties (required) computeProperties

managedVirtualNetwork

Property Value Description
referenceName (required) 'default'
type (required) 'ManagedVirtualNetworkReference'

selfhostedRuntime

Property Value Description
type (required) 'SelfHosted'
linkedInfo (required) linkedInfo
selfContainedInteractiveAuthoringEnabled (required) bool

linkedInfo

Property Value Description
authorizationType (required) string

repoConfiguration

Set the type property to specify the type of object.

For FactoryGitHubConfiguration, use:

Property Value Description

Set the type property to specify the type of object.

For FactoryVSTSConfiguration, use:

Property Value Description

githubRepoConfig

Property Value Description
type (required) 'FactoryGitHubConfiguration' Type of repo configuration.
accountName (required) string Account name.
collaborationBranch (required) string Collaboration branch.
repositoryName (required) string Repository name.
rootFolder (required) string Root folder.
clientId string GitHub bring your own app client id.
clientSecret clientSecret GitHub bring your own app client secret information.
hostName string GitHub Enterprise host name. For example: https://github.mydomain.com
lastCommitId string Last commit id.
disablePublish bool Disable manual publish operation in ADF studio to favor automated publish.

clientSecret

Property Value Description
byoaSecretAkvUrl (required) string Bring your own app client secret AKV URL.
byoaSecretName (required) string Bring your own app client secret name in AKV.

devopsRepoConfig

Property Value Description
type (required) 'FactoryVSTSConfiguration' Specifies the type of repository configuration. For Azure DevOps, use FactoryVSTSConfiguration.
accountName (required) string Account name.
collaborationBranch (required) string Collaboration branch.
projectName (required) string VSTS project name.
repositoryName (required) string Repository name.
rootFolder (required) string Root folder.
tenantId string VSTS tenant id.
disablePublish bool Disable manual publish operation in ADF studio to favor automated publish.
lastCommitId string Last commit id.

naming

Property Value Description
forceFunctionAsFullName bool Use the function value as the full name of the resource
abbreviation string Override the abbreviation of this resource with this parameter
environment string The resource environment (for example: dev, tst, acc, prd)
location string The resource location (for example: weu, we, westeurope)
customer string The name of the customer
delimiter string The delimiter between resources (default: -)
nameFormat Array containing any of:
'abbreviation'
'customer'
'environment'
'function'
'location'
'param1'
'param2'
'param3'
'useCaseName'
The order of the array defines the order of elements in the naming scheme
param1 string Extra parameter self defined
param2 string Extra parameter self defined
param3 string Extra parameter self defined
function (required) string Function of the resource [can be app, db, security,...]
useCaseName string Name of the use case [can be hub, spoke,...]
suffix string Suffix for the resource, if empty non will be appended, otherwise will be added to the end [can be index, ...]
forceDefaultNaming bool Force the CAF naming instead of default company naming

resourceLock

Property Value Description
name string Character limit: 1-90. Valid characters: Alphanumerics, periods, underscores, hyphens, and parenthesis. Can't end in period.
level (required) 'CanNotDelete'
'ReadOnly'
The level of the lock. Possible values are: CanNotDelete and ReadOnly. CanNotDelete means authorized users are able to read and modify the resources, but not delete. ReadOnly means authorized users can only read from a resource, but they can't modify or delete it. Read-Only locks must be commented to be able to deploy again
notes string Notes about the lock. Maximum of 512 characters.
owners resourceLockOwner[] The owners of the lock

resourceLockOwner

Property Value Description
applicationId (required) string The application ID of the lock owner.

roleAssignment

Property Value Description
principalId (required) string The principal ID
roleDefinitionId (required) string The role definition ID, data file can be used for this
condition string Condition on the role assignment
conditionVersion string Version of the condition. Currently the only accepted value is "2.0"
delegatedManagedIdentityResourceId string Id of the delegated managed identity resource
description string Description of role assignment

general

Property Value Description
tags object Tags of the resource [hashtable]
location (required) string Location of the resource
naming (required) naming Naming module of the resource
resourceGroupName (required) string Name of the resource group where the resource should be located
sharedNaming (required) naming Reference to the default naming
roleAssignments roleAssignment[] Role assignments on the resource
resourceLocks resourceLock[] Resource Locks on the resource
Property Value Description
pepNaming naming Name of the private endpoint
nicNaming naming Name of the network interface of the private endpoint
privateLinkNaming naming Name of the private link connection
subnets (required) subnets[] Id of the subnets and optionally the name of the resourcegroup in which the private endpoint should be created
dnsZoneIds (required) string[] List of DNS zone ids that need to be linked

subnets

Property Value Description
resourceGroupName string Resourcegroup (default: resourcegroup defined here => resourceGroup of pep resource => resourceGroup of subnet)
id (required) string Id of the subnet
location string Location if Vnet is in different location

Changelog

2.3.0 (2025-11-28)

Features

  • add privateLinkPortal property

2.2.0 (2025-11-04)

Features

  • update docs and add new repo parameters

2.1.2 (2025-09-24)

Bug Fixes

  • remove deployment name + cleanup

2.1.1 (2025-04-11)

Bug Fixes

  • naming connected resources when forceFunctionAsFullName or forceDefaultNaming is true

2.1.0 (2025-03-26)

Features

  • add resourceName output

2.0.0 (2025-01-03)

⚠ BREAKING CHANGES

  • use new toObject function for UserAssignedIdentities. Only breaking when using managed identities.

Features

  • use new toObject function for UserAssignedIdentities. Only breaking when using managed identities.