Microsoft.DataFactory factories/integrationRuntimes

Bicep resource definition

The factories/integrationRuntimes resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DataFactory/factories/integrationRuntimes resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.DataFactory/factories/integrationRuntimes@2018-06-01' = {
  name: 'string'
  parent: resourceSymbolicName
  properties: {
    description: 'string'
    type: 'string'
    // For remaining properties, see IntegrationRuntime objects
  }
}

IntegrationRuntime objects

Set the type property to specify the type of object.

For Managed, use:

  type: 'Managed'
  managedVirtualNetwork: {
    referenceName: 'string'
    type: 'ManagedVirtualNetworkReference'
  }
  typeProperties: {
    computeProperties: {
      copyComputeScaleProperties: {
        dataIntegrationUnit: int
        timeToLive: int
        {customized property}: any()
      }
      dataFlowProperties: {
        cleanup: bool
        computeType: 'string'
        coreCount: int
        customProperties: [
          {
            name: 'string'
            value: 'string'
          }
        ]
        timeToLive: int
        {customized property}: any()
      }
      location: 'string'
      maxParallelExecutionsPerNode: int
      nodeSize: 'string'
      numberOfNodes: int
      pipelineExternalComputeScaleProperties: {
        numberOfExternalNodes: int
        numberOfPipelineNodes: int
        timeToLive: int
        {customized property}: any()
      }
      vNetProperties: {
        publicIPs: [
          'string'
        ]
        subnet: 'string'
        subnetId: 'string'
        vNetId: 'string'
        {customized property}: any()
      }
      {customized property}: any()
    }
    customerVirtualNetwork: {
      subnetId: 'string'
    }
    ssisProperties: {
      catalogInfo: {
        catalogAdminPassword: {
          type: 'string'
          value: 'string'
        }
        catalogAdminUserName: 'string'
        catalogPricingTier: 'string'
        catalogServerEndpoint: 'string'
        dualStandbyPairName: 'string'
        {customized property}: any()
      }
      credential: {
        referenceName: 'string'
        type: 'CredentialReference'
        {customized property}: any()
      }
      customSetupScriptProperties: {
        blobContainerUri: 'string'
        sasToken: {
          type: 'string'
          value: 'string'
        }
      }
      dataProxyProperties: {
        connectVia: {
          referenceName: 'string'
          type: 'string'
        }
        path: 'string'
        stagingLinkedService: {
          referenceName: 'string'
          type: 'string'
        }
      }
      edition: 'string'
      expressCustomSetupProperties: [
        {
          type: 'string'
          // For remaining properties, see CustomSetupBase objects
        }
      ]
      licenseType: 'string'
      packageStores: [
        {
          name: 'string'
          packageStoreLinkedService: {
            referenceName: 'string'
            type: 'string'
          }
        }
      ]
      {customized property}: any()
    }
  }

For SelfHosted, use:

  type: 'SelfHosted'
  typeProperties: {
    linkedInfo: {
      authorizationType: 'string'
      // For remaining properties, see LinkedIntegrationRuntimeType objects
    }
    selfContainedInteractiveAuthoringEnabled: bool
  }

CustomSetupBase objects

Set the type property to specify the type of object.

For AzPowerShellSetup, use:

  type: 'AzPowerShellSetup'
  typeProperties: {
    version: 'string'
  }

For CmdkeySetup, use:

  type: 'CmdkeySetup'
  typeProperties: {
    password: {
      type: 'string'
      // For remaining properties, see SecretBase objects
    }
    targetName: any()
    userName: any()
  }

For ComponentSetup, use:

  type: 'ComponentSetup'
  typeProperties: {
    componentName: 'string'
    licenseKey: {
      type: 'string'
      // For remaining properties, see SecretBase objects
    }
  }

For EnvironmentVariableSetup, use:

  type: 'EnvironmentVariableSetup'
  typeProperties: {
    variableName: 'string'
    variableValue: 'string'
  }

SecretBase objects

Set the type property to specify the type of object.

For AzureKeyVaultSecret, use:

  type: 'AzureKeyVaultSecret'
  secretName: any()
  secretVersion: any()
  store: {
    parameters: {
      {customized property}: any()
    }
    referenceName: 'string'
    type: 'LinkedServiceReference'
  }

For SecureString, use:

  type: 'SecureString'
  value: 'string'

LinkedIntegrationRuntimeType objects

Set the authorizationType property to specify the type of object.

For Key, use:

  authorizationType: 'Key'
  key: {
    type: 'string'
    value: 'string'
  }

For RBAC, use:

  authorizationType: 'RBAC'
  credential: {
    referenceName: 'string'
    type: 'CredentialReference'
    {customized property}: any()
  }
  resourceId: 'string'

Property values

factories/integrationRuntimes

Name Description Value
name The resource name

See how to set names and types for child resources in Bicep.
string (required)

Character limit: 3-63

Valid characters:
Alphanumerics and hyphens.

Start and end with alphanumeric.
parent In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.

For more information, see Child resource outside parent resource.
Symbolic name for resource of type: factories
properties Integration runtime properties. IntegrationRuntime (required)

IntegrationRuntime

Name Description Value
description Integration runtime description. string
type Set the object type Managed
SelfHosted (required)

ManagedIntegrationRuntime

Name Description Value
type Type of integration runtime. 'Managed' (required)
managedVirtualNetwork Managed Virtual Network reference. ManagedVirtualNetworkReference
typeProperties Managed integration runtime properties. ManagedIntegrationRuntimeTypeProperties (required)

ManagedVirtualNetworkReference

Name Description Value
referenceName Reference ManagedVirtualNetwork name. string (required)
type Managed Virtual Network reference type. 'ManagedVirtualNetworkReference' (required)

ManagedIntegrationRuntimeTypeProperties

Name Description Value
computeProperties The compute resource for managed integration runtime. IntegrationRuntimeComputeProperties
customerVirtualNetwork The name of virtual network to which Azure-SSIS integration runtime will join IntegrationRuntimeCustomerVirtualNetwork
ssisProperties SSIS properties for managed integration runtime. IntegrationRuntimeSsisProperties

IntegrationRuntimeComputeProperties

Name Description Value
copyComputeScaleProperties CopyComputeScale properties for managed integration runtime. CopyComputeScaleProperties
dataFlowProperties Data flow properties for managed integration runtime. IntegrationRuntimeDataFlowProperties
location The location for managed integration runtime. The supported regions could be found on /azure/data-factory/data-factory-data-movement-activities string
maxParallelExecutionsPerNode Maximum parallel executions count per node for managed integration runtime. int

Constraints:
Min value = 1
nodeSize The node size requirement to managed integration runtime. string
numberOfNodes The required number of nodes for managed integration runtime. int

Constraints:
Min value = 1
pipelineExternalComputeScaleProperties PipelineExternalComputeScale properties for managed integration runtime. PipelineExternalComputeScaleProperties
vNetProperties VNet properties for managed integration runtime. IntegrationRuntimeVNetProperties
{customized property} For Bicep, you can use the any() function.

CopyComputeScaleProperties

Name Description Value
dataIntegrationUnit DIU number setting reserved for copy activity execution. Supported values are multiples of 4 in range 4-256. int

Constraints:
Min value = 4
timeToLive Time to live (in minutes) setting of integration runtime which will execute copy activity. int

Constraints:
Min value = 5
{customized property} For Bicep, you can use the any() function.

IntegrationRuntimeDataFlowProperties

Name Description Value
cleanup Cluster will not be recycled and it will be used in next data flow activity run until TTL (time to live) is reached if this is set as false. Default is true. bool
computeType Compute type of the cluster which will execute data flow job. 'ComputeOptimized'
'General'
'MemoryOptimized'
coreCount Core count of the cluster which will execute data flow job. Supported values are: 8, 16, 32, 48, 80, 144 and 272. int
customProperties Custom properties are used to tune the data flow runtime performance. IntegrationRuntimeDataFlowPropertiesCustomProperties...[]
timeToLive Time to live (in minutes) setting of the cluster which will execute data flow job. int

Constraints:
Min value = 0
{customized property} For Bicep, you can use the any() function.

IntegrationRuntimeDataFlowPropertiesCustomProperties...

Name Description Value
name Name of custom property. string
value Value of custom property. string

PipelineExternalComputeScaleProperties

Name Description Value
numberOfExternalNodes Number of the the external nodes, which should be greater than 0 and less than 11. int

Constraints:
Min value = 1
Max value = 10
numberOfPipelineNodes Number of the pipeline nodes, which should be greater than 0 and less than 11. int

Constraints:
Min value = 1
Max value = 10
timeToLive Time to live (in minutes) setting of integration runtime which will execute pipeline and external activity. int

Constraints:
Min value = 5
{customized property} For Bicep, you can use the any() function.

IntegrationRuntimeVNetProperties

Name Description Value
publicIPs Resource IDs of the public IP addresses that this integration runtime will use. string[]
subnet The name of the subnet this integration runtime will join. string
subnetId The ID of subnet, to which this Azure-SSIS integration runtime will be joined. string
vNetId The ID of the VNet that this integration runtime will join. string
{customized property} For Bicep, you can use the any() function.

IntegrationRuntimeCustomerVirtualNetwork

Name Description Value
subnetId The ID of subnet to which Azure-SSIS integration runtime will join. string

IntegrationRuntimeSsisProperties

Name Description Value
catalogInfo Catalog information for managed dedicated integration runtime. IntegrationRuntimeSsisCatalogInfo
credential The credential reference containing authentication information. CredentialReference
customSetupScriptProperties Custom setup script properties for a managed dedicated integration runtime. IntegrationRuntimeCustomSetupScriptProperties
dataProxyProperties Data proxy properties for a managed dedicated integration runtime. IntegrationRuntimeDataProxyProperties
edition The edition for the SSIS Integration Runtime 'Enterprise'
'Standard'
expressCustomSetupProperties Custom setup without script properties for a SSIS integration runtime. CustomSetupBase[]
licenseType License type for bringing your own license scenario. 'BasePrice'
'LicenseIncluded'
packageStores Package stores for the SSIS Integration Runtime. PackageStore[]
{customized property} For Bicep, you can use the any() function.

IntegrationRuntimeSsisCatalogInfo

Name Description Value
catalogAdminPassword The password of the administrator user account of the catalog database. SecureString
catalogAdminUserName The administrator user name of catalog database. string

Constraints:
Min length = 1
Max length = 128
catalogPricingTier The pricing tier for the catalog database. The valid values could be found in https://azure.microsoft.com/pricing/details/sql-database/ 'Basic'
'Premium'
'PremiumRS'
'Standard'
catalogServerEndpoint The catalog database server URL. string
dualStandbyPairName The dual standby pair name of Azure-SSIS Integration Runtimes to support SSISDB failover. string
{customized property} For Bicep, you can use the any() function.

SecureString

Name Description Value
type Type of the secret. string (required)
value Value of secure string. string (required)

CredentialReference

Name Description Value
referenceName Reference credential name. string (required)
type Credential reference type. 'CredentialReference' (required)
{customized property} For Bicep, you can use the any() function.

IntegrationRuntimeCustomSetupScriptProperties

Name Description Value
blobContainerUri The URI of the Azure blob container that contains the custom setup script. string
sasToken The SAS token of the Azure blob container. SecureString

IntegrationRuntimeDataProxyProperties

Name Description Value
connectVia The self-hosted integration runtime reference. EntityReference
path The path to contain the staged data in the Blob storage. string
stagingLinkedService The staging linked service reference. EntityReference

EntityReference

Name Description Value
referenceName The name of this referenced entity. string
type The type of this referenced entity. 'IntegrationRuntimeReference'
'LinkedServiceReference'

CustomSetupBase

Name Description Value
type Set the object type AzPowerShellSetup
CmdkeySetup
ComponentSetup
EnvironmentVariableSetup (required)

AzPowerShellSetup

Name Description Value
type The type of custom setup. 'AzPowerShellSetup' (required)
typeProperties Install Azure PowerShell type properties. AzPowerShellSetupTypeProperties (required)

AzPowerShellSetupTypeProperties

Name Description Value
version The required version of Azure PowerShell to install. string (required)

CmdkeySetup

Name Description Value
type The type of custom setup. 'CmdkeySetup' (required)
typeProperties Cmdkey command custom setup type properties. CmdkeySetupTypeProperties (required)

CmdkeySetupTypeProperties

Name Description Value
password The password of data source access. SecretBase (required)
targetName The server name of data source access. Type: string. For Bicep, you can use the any() function.(required)
userName The user name of data source access. Type: string. For Bicep, you can use the any() function.(required)

SecretBase

Name Description Value
type Set the object type AzureKeyVaultSecret
SecureString (required)

AzureKeyVaultSecretReference

Name Description Value
secretName The name of the secret in Azure Key Vault. Type: string (or Expression with resultType string). For Bicep, you can use the any() function.(required)
secretVersion The version of the secret in Azure Key Vault. The default value is the latest version of the secret. Type: string (or Expression with resultType string). For Bicep, you can use the any() function.
store The Azure Key Vault linked service reference. LinkedServiceReference (required)
type Type of the secret. string (required)

LinkedServiceReference

Name Description Value
parameters Arguments for LinkedService. ParameterValueSpecification
referenceName Reference LinkedService name. string (required)
type Linked service reference type. 'LinkedServiceReference' (required)

ParameterValueSpecification

Name Description Value
{customized property} For Bicep, you can use the any() function.

ComponentSetup

Name Description Value
type The type of custom setup. 'ComponentSetup' (required)
typeProperties Install 3rd party component type properties. LicensedComponentSetupTypeProperties (required)

LicensedComponentSetupTypeProperties

Name Description Value
componentName The name of the 3rd party component. string (required)
licenseKey The license key to activate the component. SecretBase

EnvironmentVariableSetup

Name Description Value
type The type of custom setup. 'EnvironmentVariableSetup' (required)
typeProperties Add environment variable type properties. EnvironmentVariableSetupTypeProperties (required)

EnvironmentVariableSetupTypeProperties

Name Description Value
variableName The name of the environment variable. string (required)
variableValue The value of the environment variable. string (required)

PackageStore

Name Description Value
name The name of the package store string (required)
packageStoreLinkedService The package store linked service reference. EntityReference (required)

SelfHostedIntegrationRuntime

Name Description Value
type Type of integration runtime. 'SelfHosted' (required)
typeProperties When this property is not null, means this is a linked integration runtime. The property is used to access original integration runtime. SelfHostedIntegrationRuntimeTypeProperties

SelfHostedIntegrationRuntimeTypeProperties

Name Description Value
linkedInfo The base definition of a linked integration runtime. LinkedIntegrationRuntimeType
selfContainedInteractiveAuthoringEnabled An alternative option to ensure interactive authoring function when your self-hosted integration runtime is unable to establish a connection with Azure Relay. bool

LinkedIntegrationRuntimeType

Name Description Value
authorizationType Set the object type Key
RBAC (required)

LinkedIntegrationRuntimeKeyAuthorization

Name Description Value
authorizationType The authorization type for integration runtime sharing. 'Key' (required)
key The key used for authorization. SecureString (required)

LinkedIntegrationRuntimeRbacAuthorization

Name Description Value
authorizationType The authorization type for integration runtime sharing. 'RBAC' (required)
credential The credential reference containing authentication information. CredentialReference
resourceId The resource identifier of the integration runtime to be shared. string (required)

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Self-host Integration Runtime on Azure VMs

Deploy to Azure
This template creates a selfhost integration runtime and registers it on Azure virtual machines
Azure Data Factory with Git and managed vnet configuration

Deploy to Azure
This template creates Azure Data Factory with Git configuration and managed virtual network.
Create a V2 data factory (SQL On-prem)

Deploy to Azure
This template creates a V2 data factory that copies data from an on-premises SQL Server to an Azure blob storage
Provision SSIS runtime in Azure

Deploy to Azure
This template creates a V2 data factory and then provisions an Azure SSIS integration runtime

ARM template resource definition

The factories/integrationRuntimes resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DataFactory/factories/integrationRuntimes resource, add the following JSON to your template.

{
  "type": "Microsoft.DataFactory/factories/integrationRuntimes",
  "apiVersion": "2018-06-01",
  "name": "string",
  "properties": {
    "description": "string",
    "type": "string"
    // For remaining properties, see IntegrationRuntime objects
  }
}

IntegrationRuntime objects

Set the type property to specify the type of object.

For Managed, use:

  "type": "Managed",
  "managedVirtualNetwork": {
    "referenceName": "string",
    "type": "ManagedVirtualNetworkReference"
  },
  "typeProperties": {
    "computeProperties": {
      "copyComputeScaleProperties": {
        "dataIntegrationUnit": "int",
        "timeToLive": "int",
        "{customized property}": {}
      },
      "dataFlowProperties": {
        "cleanup": "bool",
        "computeType": "string",
        "coreCount": "int",
        "customProperties": [
          {
            "name": "string",
            "value": "string"
          }
        ],
        "timeToLive": "int",
        "{customized property}": {}
      },
      "location": "string",
      "maxParallelExecutionsPerNode": "int",
      "nodeSize": "string",
      "numberOfNodes": "int",
      "pipelineExternalComputeScaleProperties": {
        "numberOfExternalNodes": "int",
        "numberOfPipelineNodes": "int",
        "timeToLive": "int",
        "{customized property}": {}
      },
      "vNetProperties": {
        "publicIPs": [ "string" ],
        "subnet": "string",
        "subnetId": "string",
        "vNetId": "string",
        "{customized property}": {}
      },
      "{customized property}": {}
    },
    "customerVirtualNetwork": {
      "subnetId": "string"
    },
    "ssisProperties": {
      "catalogInfo": {
        "catalogAdminPassword": {
          "type": "string",
          "value": "string"
        },
        "catalogAdminUserName": "string",
        "catalogPricingTier": "string",
        "catalogServerEndpoint": "string",
        "dualStandbyPairName": "string",
        "{customized property}": {}
      },
      "credential": {
        "referenceName": "string",
        "type": "CredentialReference",
        "{customized property}": {}
      },
      "customSetupScriptProperties": {
        "blobContainerUri": "string",
        "sasToken": {
          "type": "string",
          "value": "string"
        }
      },
      "dataProxyProperties": {
        "connectVia": {
          "referenceName": "string",
          "type": "string"
        },
        "path": "string",
        "stagingLinkedService": {
          "referenceName": "string",
          "type": "string"
        }
      },
      "edition": "string",
      "expressCustomSetupProperties": [
        {
          "type": "string"
          // For remaining properties, see CustomSetupBase objects
        }
      ],
      "licenseType": "string",
      "packageStores": [
        {
          "name": "string",
          "packageStoreLinkedService": {
            "referenceName": "string",
            "type": "string"
          }
        }
      ],
      "{customized property}": {}
    }
  }

For SelfHosted, use:

  "type": "SelfHosted",
  "typeProperties": {
    "linkedInfo": {
      "authorizationType": "string"
      // For remaining properties, see LinkedIntegrationRuntimeType objects
    },
    "selfContainedInteractiveAuthoringEnabled": "bool"
  }

CustomSetupBase objects

Set the type property to specify the type of object.

For AzPowerShellSetup, use:

  "type": "AzPowerShellSetup",
  "typeProperties": {
    "version": "string"
  }

For CmdkeySetup, use:

  "type": "CmdkeySetup",
  "typeProperties": {
    "password": {
      "type": "string"
      // For remaining properties, see SecretBase objects
    },
    "targetName": {},
    "userName": {}
  }

For ComponentSetup, use:

  "type": "ComponentSetup",
  "typeProperties": {
    "componentName": "string",
    "licenseKey": {
      "type": "string"
      // For remaining properties, see SecretBase objects
    }
  }

For EnvironmentVariableSetup, use:

  "type": "EnvironmentVariableSetup",
  "typeProperties": {
    "variableName": "string",
    "variableValue": "string"
  }

SecretBase objects

Set the type property to specify the type of object.

For AzureKeyVaultSecret, use:

  "type": "AzureKeyVaultSecret",
  "secretName": {},
  "secretVersion": {},
  "store": {
    "parameters": {
      "{customized property}": {}
    },
    "referenceName": "string",
    "type": "LinkedServiceReference"
  }

For SecureString, use:

  "type": "SecureString",
  "value": "string"

LinkedIntegrationRuntimeType objects

Set the authorizationType property to specify the type of object.

For Key, use:

  "authorizationType": "Key",
  "key": {
    "type": "string",
    "value": "string"
  }

For RBAC, use:

  "authorizationType": "RBAC",
  "credential": {
    "referenceName": "string",
    "type": "CredentialReference",
    "{customized property}": {}
  },
  "resourceId": "string"

Property values

factories/integrationRuntimes

Name Description Value
type The resource type 'Microsoft.DataFactory/factories/integrationRuntimes'
apiVersion The resource api version '2018-06-01'
name The resource name

See how to set names and types for child resources in JSON ARM templates.
string (required)

Character limit: 3-63

Valid characters:
Alphanumerics and hyphens.

Start and end with alphanumeric.
properties Integration runtime properties. IntegrationRuntime (required)

IntegrationRuntime

Name Description Value
description Integration runtime description. string
type Set the object type Managed
SelfHosted (required)

ManagedIntegrationRuntime

Name Description Value
type Type of integration runtime. 'Managed' (required)
managedVirtualNetwork Managed Virtual Network reference. ManagedVirtualNetworkReference
typeProperties Managed integration runtime properties. ManagedIntegrationRuntimeTypeProperties (required)

ManagedVirtualNetworkReference

Name Description Value
referenceName Reference ManagedVirtualNetwork name. string (required)
type Managed Virtual Network reference type. 'ManagedVirtualNetworkReference' (required)

ManagedIntegrationRuntimeTypeProperties

Name Description Value
computeProperties The compute resource for managed integration runtime. IntegrationRuntimeComputeProperties
customerVirtualNetwork The name of virtual network to which Azure-SSIS integration runtime will join IntegrationRuntimeCustomerVirtualNetwork
ssisProperties SSIS properties for managed integration runtime. IntegrationRuntimeSsisProperties

IntegrationRuntimeComputeProperties

Name Description Value
copyComputeScaleProperties CopyComputeScale properties for managed integration runtime. CopyComputeScaleProperties
dataFlowProperties Data flow properties for managed integration runtime. IntegrationRuntimeDataFlowProperties
location The location for managed integration runtime. The supported regions could be found on /azure/data-factory/data-factory-data-movement-activities string
maxParallelExecutionsPerNode Maximum parallel executions count per node for managed integration runtime. int

Constraints:
Min value = 1
nodeSize The node size requirement to managed integration runtime. string
numberOfNodes The required number of nodes for managed integration runtime. int

Constraints:
Min value = 1
pipelineExternalComputeScaleProperties PipelineExternalComputeScale properties for managed integration runtime. PipelineExternalComputeScaleProperties
vNetProperties VNet properties for managed integration runtime. IntegrationRuntimeVNetProperties
{customized property}

CopyComputeScaleProperties

Name Description Value
dataIntegrationUnit DIU number setting reserved for copy activity execution. Supported values are multiples of 4 in range 4-256. int

Constraints:
Min value = 4
timeToLive Time to live (in minutes) setting of integration runtime which will execute copy activity. int

Constraints:
Min value = 5
{customized property}

IntegrationRuntimeDataFlowProperties

Name Description Value
cleanup Cluster will not be recycled and it will be used in next data flow activity run until TTL (time to live) is reached if this is set as false. Default is true. bool
computeType Compute type of the cluster which will execute data flow job. 'ComputeOptimized'
'General'
'MemoryOptimized'
coreCount Core count of the cluster which will execute data flow job. Supported values are: 8, 16, 32, 48, 80, 144 and 272. int
customProperties Custom properties are used to tune the data flow runtime performance. IntegrationRuntimeDataFlowPropertiesCustomProperties...[]
timeToLive Time to live (in minutes) setting of the cluster which will execute data flow job. int

Constraints:
Min value = 0
{customized property}

IntegrationRuntimeDataFlowPropertiesCustomProperties...

Name Description Value
name Name of custom property. string
value Value of custom property. string

PipelineExternalComputeScaleProperties

Name Description Value
numberOfExternalNodes Number of the the external nodes, which should be greater than 0 and less than 11. int

Constraints:
Min value = 1
Max value = 10
numberOfPipelineNodes Number of the pipeline nodes, which should be greater than 0 and less than 11. int

Constraints:
Min value = 1
Max value = 10
timeToLive Time to live (in minutes) setting of integration runtime which will execute pipeline and external activity. int

Constraints:
Min value = 5
{customized property}

IntegrationRuntimeVNetProperties

Name Description Value
publicIPs Resource IDs of the public IP addresses that this integration runtime will use. string[]
subnet The name of the subnet this integration runtime will join. string
subnetId The ID of subnet, to which this Azure-SSIS integration runtime will be joined. string
vNetId The ID of the VNet that this integration runtime will join. string
{customized property}

IntegrationRuntimeCustomerVirtualNetwork

Name Description Value
subnetId The ID of subnet to which Azure-SSIS integration runtime will join. string

IntegrationRuntimeSsisProperties

Name Description Value
catalogInfo Catalog information for managed dedicated integration runtime. IntegrationRuntimeSsisCatalogInfo
credential The credential reference containing authentication information. CredentialReference
customSetupScriptProperties Custom setup script properties for a managed dedicated integration runtime. IntegrationRuntimeCustomSetupScriptProperties
dataProxyProperties Data proxy properties for a managed dedicated integration runtime. IntegrationRuntimeDataProxyProperties
edition The edition for the SSIS Integration Runtime 'Enterprise'
'Standard'
expressCustomSetupProperties Custom setup without script properties for a SSIS integration runtime. CustomSetupBase[]
licenseType License type for bringing your own license scenario. 'BasePrice'
'LicenseIncluded'
packageStores Package stores for the SSIS Integration Runtime. PackageStore[]
{customized property}

IntegrationRuntimeSsisCatalogInfo

Name Description Value
catalogAdminPassword The password of the administrator user account of the catalog database. SecureString
catalogAdminUserName The administrator user name of catalog database. string

Constraints:
Min length = 1
Max length = 128
catalogPricingTier The pricing tier for the catalog database. The valid values could be found in https://azure.microsoft.com/pricing/details/sql-database/ 'Basic'
'Premium'
'PremiumRS'
'Standard'
catalogServerEndpoint The catalog database server URL. string
dualStandbyPairName The dual standby pair name of Azure-SSIS Integration Runtimes to support SSISDB failover. string
{customized property}

SecureString

Name Description Value
type Type of the secret. string (required)
value Value of secure string. string (required)

CredentialReference

Name Description Value
referenceName Reference credential name. string (required)
type Credential reference type. 'CredentialReference' (required)
{customized property}

IntegrationRuntimeCustomSetupScriptProperties

Name Description Value
blobContainerUri The URI of the Azure blob container that contains the custom setup script. string
sasToken The SAS token of the Azure blob container. SecureString

IntegrationRuntimeDataProxyProperties

Name Description Value
connectVia The self-hosted integration runtime reference. EntityReference
path The path to contain the staged data in the Blob storage. string
stagingLinkedService The staging linked service reference. EntityReference

EntityReference

Name Description Value
referenceName The name of this referenced entity. string
type The type of this referenced entity. 'IntegrationRuntimeReference'
'LinkedServiceReference'

CustomSetupBase

Name Description Value
type Set the object type AzPowerShellSetup
CmdkeySetup
ComponentSetup
EnvironmentVariableSetup (required)

AzPowerShellSetup

Name Description Value
type The type of custom setup. 'AzPowerShellSetup' (required)
typeProperties Install Azure PowerShell type properties. AzPowerShellSetupTypeProperties (required)

AzPowerShellSetupTypeProperties

Name Description Value
version The required version of Azure PowerShell to install. string (required)

CmdkeySetup

Name Description Value
type The type of custom setup. 'CmdkeySetup' (required)
typeProperties Cmdkey command custom setup type properties. CmdkeySetupTypeProperties (required)

CmdkeySetupTypeProperties

Name Description Value
password The password of data source access. SecretBase (required)
targetName The server name of data source access. Type: string.
userName The user name of data source access. Type: string.

SecretBase

Name Description Value
type Set the object type AzureKeyVaultSecret
SecureString (required)

AzureKeyVaultSecretReference

Name Description Value
secretName The name of the secret in Azure Key Vault. Type: string (or Expression with resultType string).
secretVersion The version of the secret in Azure Key Vault. The default value is the latest version of the secret. Type: string (or Expression with resultType string).
store The Azure Key Vault linked service reference. LinkedServiceReference (required)
type Type of the secret. string (required)

LinkedServiceReference

Name Description Value
parameters Arguments for LinkedService. ParameterValueSpecification
referenceName Reference LinkedService name. string (required)
type Linked service reference type. 'LinkedServiceReference' (required)

ParameterValueSpecification

Name Description Value
{customized property}

ComponentSetup

Name Description Value
type The type of custom setup. 'ComponentSetup' (required)
typeProperties Install 3rd party component type properties. LicensedComponentSetupTypeProperties (required)

LicensedComponentSetupTypeProperties

Name Description Value
componentName The name of the 3rd party component. string (required)
licenseKey The license key to activate the component. SecretBase

EnvironmentVariableSetup

Name Description Value
type The type of custom setup. 'EnvironmentVariableSetup' (required)
typeProperties Add environment variable type properties. EnvironmentVariableSetupTypeProperties (required)

EnvironmentVariableSetupTypeProperties

Name Description Value
variableName The name of the environment variable. string (required)
variableValue The value of the environment variable. string (required)

PackageStore

Name Description Value
name The name of the package store string (required)
packageStoreLinkedService The package store linked service reference. EntityReference (required)

SelfHostedIntegrationRuntime

Name Description Value
type Type of integration runtime. 'SelfHosted' (required)
typeProperties When this property is not null, means this is a linked integration runtime. The property is used to access original integration runtime. SelfHostedIntegrationRuntimeTypeProperties

SelfHostedIntegrationRuntimeTypeProperties

Name Description Value
linkedInfo The base definition of a linked integration runtime. LinkedIntegrationRuntimeType
selfContainedInteractiveAuthoringEnabled An alternative option to ensure interactive authoring function when your self-hosted integration runtime is unable to establish a connection with Azure Relay. bool

LinkedIntegrationRuntimeType

Name Description Value
authorizationType Set the object type Key
RBAC (required)

LinkedIntegrationRuntimeKeyAuthorization

Name Description Value
authorizationType The authorization type for integration runtime sharing. 'Key' (required)
key The key used for authorization. SecureString (required)

LinkedIntegrationRuntimeRbacAuthorization

Name Description Value
authorizationType The authorization type for integration runtime sharing. 'RBAC' (required)
credential The credential reference containing authentication information. CredentialReference
resourceId The resource identifier of the integration runtime to be shared. string (required)

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Self-host Integration Runtime on Azure VMs

Deploy to Azure
This template creates a selfhost integration runtime and registers it on Azure virtual machines
Azure Data Factory with Git and managed vnet configuration

Deploy to Azure
This template creates Azure Data Factory with Git configuration and managed virtual network.
Create a V2 data factory (SQL On-prem)

Deploy to Azure
This template creates a V2 data factory that copies data from an on-premises SQL Server to an Azure blob storage
Provision SSIS runtime in Azure

Deploy to Azure
This template creates a V2 data factory and then provisions an Azure SSIS integration runtime

Terraform (AzAPI provider) resource definition

The factories/integrationRuntimes resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DataFactory/factories/integrationRuntimes resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DataFactory/factories/integrationRuntimes@2018-06-01"
  name = "string"
  parent_id = "string"
  body = jsonencode({
    properties = {
      description = "string"
      type = "string"
      // For remaining properties, see IntegrationRuntime objects
    }
  })
}

IntegrationRuntime objects

Set the type property to specify the type of object.

For Managed, use:

  type = "Managed"
  managedVirtualNetwork = {
    referenceName = "string"
    type = "ManagedVirtualNetworkReference"
  }
  typeProperties = {
    computeProperties = {
      copyComputeScaleProperties = {
        dataIntegrationUnit = int
        timeToLive = int
      }
      dataFlowProperties = {
        cleanup = bool
        computeType = "string"
        coreCount = int
        customProperties = [
          {
            name = "string"
            value = "string"
          }
        ]
        timeToLive = int
      }
      location = "string"
      maxParallelExecutionsPerNode = int
      nodeSize = "string"
      numberOfNodes = int
      pipelineExternalComputeScaleProperties = {
        numberOfExternalNodes = int
        numberOfPipelineNodes = int
        timeToLive = int
      }
      vNetProperties = {
        publicIPs = [
          "string"
        ]
        subnet = "string"
        subnetId = "string"
        vNetId = "string"
      }
    }
    customerVirtualNetwork = {
      subnetId = "string"
    }
    ssisProperties = {
      catalogInfo = {
        catalogAdminPassword = {
          type = "string"
          value = "string"
        }
        catalogAdminUserName = "string"
        catalogPricingTier = "string"
        catalogServerEndpoint = "string"
        dualStandbyPairName = "string"
      }
      credential = {
        referenceName = "string"
        type = "CredentialReference"
      }
      customSetupScriptProperties = {
        blobContainerUri = "string"
        sasToken = {
          type = "string"
          value = "string"
        }
      }
      dataProxyProperties = {
        connectVia = {
          referenceName = "string"
          type = "string"
        }
        path = "string"
        stagingLinkedService = {
          referenceName = "string"
          type = "string"
        }
      }
      edition = "string"
      expressCustomSetupProperties = [
        {
          type = "string"
          // For remaining properties, see CustomSetupBase objects
        }
      ]
      licenseType = "string"
      packageStores = [
        {
          name = "string"
          packageStoreLinkedService = {
            referenceName = "string"
            type = "string"
          }
        }
      ]
    }
  }

For SelfHosted, use:

  type = "SelfHosted"
  typeProperties = {
    linkedInfo = {
      authorizationType = "string"
      // For remaining properties, see LinkedIntegrationRuntimeType objects
    }
    selfContainedInteractiveAuthoringEnabled = bool
  }

CustomSetupBase objects

Set the type property to specify the type of object.

For AzPowerShellSetup, use:

  type = "AzPowerShellSetup"
  typeProperties = {
    version = "string"
  }

For CmdkeySetup, use:

  type = "CmdkeySetup"
  typeProperties = {
    password = {
      type = "string"
      // For remaining properties, see SecretBase objects
    }
  }

For ComponentSetup, use:

  type = "ComponentSetup"
  typeProperties = {
    componentName = "string"
    licenseKey = {
      type = "string"
      // For remaining properties, see SecretBase objects
    }
  }

For EnvironmentVariableSetup, use:

  type = "EnvironmentVariableSetup"
  typeProperties = {
    variableName = "string"
    variableValue = "string"
  }

SecretBase objects

Set the type property to specify the type of object.

For AzureKeyVaultSecret, use:

  type = "AzureKeyVaultSecret"
  store = {
    parameters = {}
    referenceName = "string"
    type = "LinkedServiceReference"
  }

For SecureString, use:

  type = "SecureString"
  value = "string"

LinkedIntegrationRuntimeType objects

Set the authorizationType property to specify the type of object.

For Key, use:

  authorizationType = "Key"
  key = {
    type = "string"
    value = "string"
  }

For RBAC, use:

  authorizationType = "RBAC"
  credential = {
    referenceName = "string"
    type = "CredentialReference"
  }
  resourceId = "string"

Property values

factories/integrationRuntimes

Name Description Value
type The resource type "Microsoft.DataFactory/factories/integrationRuntimes@2018-06-01"
name The resource name string (required)

Character limit: 3-63

Valid characters:
Alphanumerics and hyphens.

Start and end with alphanumeric.
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: factories
properties Integration runtime properties. IntegrationRuntime (required)

IntegrationRuntime

Name Description Value
description Integration runtime description. string
type Set the object type Managed
SelfHosted (required)

ManagedIntegrationRuntime

Name Description Value
type Type of integration runtime. "Managed" (required)
managedVirtualNetwork Managed Virtual Network reference. ManagedVirtualNetworkReference
typeProperties Managed integration runtime properties. ManagedIntegrationRuntimeTypeProperties (required)

ManagedVirtualNetworkReference

Name Description Value
referenceName Reference ManagedVirtualNetwork name. string (required)
type Managed Virtual Network reference type. "ManagedVirtualNetworkReference" (required)

ManagedIntegrationRuntimeTypeProperties

Name Description Value
computeProperties The compute resource for managed integration runtime. IntegrationRuntimeComputeProperties
customerVirtualNetwork The name of virtual network to which Azure-SSIS integration runtime will join IntegrationRuntimeCustomerVirtualNetwork
ssisProperties SSIS properties for managed integration runtime. IntegrationRuntimeSsisProperties

IntegrationRuntimeComputeProperties

Name Description Value
copyComputeScaleProperties CopyComputeScale properties for managed integration runtime. CopyComputeScaleProperties
dataFlowProperties Data flow properties for managed integration runtime. IntegrationRuntimeDataFlowProperties
location The location for managed integration runtime. The supported regions could be found on /azure/data-factory/data-factory-data-movement-activities string
maxParallelExecutionsPerNode Maximum parallel executions count per node for managed integration runtime. int

Constraints:
Min value = 1
nodeSize The node size requirement to managed integration runtime. string
numberOfNodes The required number of nodes for managed integration runtime. int

Constraints:
Min value = 1
pipelineExternalComputeScaleProperties PipelineExternalComputeScale properties for managed integration runtime. PipelineExternalComputeScaleProperties
vNetProperties VNet properties for managed integration runtime. IntegrationRuntimeVNetProperties
{customized property}

CopyComputeScaleProperties

Name Description Value
dataIntegrationUnit DIU number setting reserved for copy activity execution. Supported values are multiples of 4 in range 4-256. int

Constraints:
Min value = 4
timeToLive Time to live (in minutes) setting of integration runtime which will execute copy activity. int

Constraints:
Min value = 5
{customized property}

IntegrationRuntimeDataFlowProperties

Name Description Value
cleanup Cluster will not be recycled and it will be used in next data flow activity run until TTL (time to live) is reached if this is set as false. Default is true. bool
computeType Compute type of the cluster which will execute data flow job. "ComputeOptimized"
"General"
"MemoryOptimized"
coreCount Core count of the cluster which will execute data flow job. Supported values are: 8, 16, 32, 48, 80, 144 and 272. int
customProperties Custom properties are used to tune the data flow runtime performance. IntegrationRuntimeDataFlowPropertiesCustomProperties...[]
timeToLive Time to live (in minutes) setting of the cluster which will execute data flow job. int

Constraints:
Min value = 0
{customized property}

IntegrationRuntimeDataFlowPropertiesCustomProperties...

Name Description Value
name Name of custom property. string
value Value of custom property. string

PipelineExternalComputeScaleProperties

Name Description Value
numberOfExternalNodes Number of the the external nodes, which should be greater than 0 and less than 11. int

Constraints:
Min value = 1
Max value = 10
numberOfPipelineNodes Number of the pipeline nodes, which should be greater than 0 and less than 11. int

Constraints:
Min value = 1
Max value = 10
timeToLive Time to live (in minutes) setting of integration runtime which will execute pipeline and external activity. int

Constraints:
Min value = 5
{customized property}

IntegrationRuntimeVNetProperties

Name Description Value
publicIPs Resource IDs of the public IP addresses that this integration runtime will use. string[]
subnet The name of the subnet this integration runtime will join. string
subnetId The ID of subnet, to which this Azure-SSIS integration runtime will be joined. string
vNetId The ID of the VNet that this integration runtime will join. string
{customized property}

IntegrationRuntimeCustomerVirtualNetwork

Name Description Value
subnetId The ID of subnet to which Azure-SSIS integration runtime will join. string

IntegrationRuntimeSsisProperties

Name Description Value
catalogInfo Catalog information for managed dedicated integration runtime. IntegrationRuntimeSsisCatalogInfo
credential The credential reference containing authentication information. CredentialReference
customSetupScriptProperties Custom setup script properties for a managed dedicated integration runtime. IntegrationRuntimeCustomSetupScriptProperties
dataProxyProperties Data proxy properties for a managed dedicated integration runtime. IntegrationRuntimeDataProxyProperties
edition The edition for the SSIS Integration Runtime "Enterprise"
"Standard"
expressCustomSetupProperties Custom setup without script properties for a SSIS integration runtime. CustomSetupBase[]
licenseType License type for bringing your own license scenario. "BasePrice"
"LicenseIncluded"
packageStores Package stores for the SSIS Integration Runtime. PackageStore[]
{customized property}

IntegrationRuntimeSsisCatalogInfo

Name Description Value
catalogAdminPassword The password of the administrator user account of the catalog database. SecureString
catalogAdminUserName The administrator user name of catalog database. string

Constraints:
Min length = 1
Max length = 128
catalogPricingTier The pricing tier for the catalog database. The valid values could be found in https://azure.microsoft.com/pricing/details/sql-database/ "Basic"
"Premium"
"PremiumRS"
"Standard"
catalogServerEndpoint The catalog database server URL. string
dualStandbyPairName The dual standby pair name of Azure-SSIS Integration Runtimes to support SSISDB failover. string
{customized property}

SecureString

Name Description Value
type Type of the secret. string (required)
value Value of secure string. string (required)

CredentialReference

Name Description Value
referenceName Reference credential name. string (required)
type Credential reference type. "CredentialReference" (required)
{customized property}

IntegrationRuntimeCustomSetupScriptProperties

Name Description Value
blobContainerUri The URI of the Azure blob container that contains the custom setup script. string
sasToken The SAS token of the Azure blob container. SecureString

IntegrationRuntimeDataProxyProperties

Name Description Value
connectVia The self-hosted integration runtime reference. EntityReference
path The path to contain the staged data in the Blob storage. string
stagingLinkedService The staging linked service reference. EntityReference

EntityReference

Name Description Value
referenceName The name of this referenced entity. string
type The type of this referenced entity. "IntegrationRuntimeReference"
"LinkedServiceReference"

CustomSetupBase

Name Description Value
type Set the object type AzPowerShellSetup
CmdkeySetup
ComponentSetup
EnvironmentVariableSetup (required)

AzPowerShellSetup

Name Description Value
type The type of custom setup. "AzPowerShellSetup" (required)
typeProperties Install Azure PowerShell type properties. AzPowerShellSetupTypeProperties (required)

AzPowerShellSetupTypeProperties

Name Description Value
version The required version of Azure PowerShell to install. string (required)

CmdkeySetup

Name Description Value
type The type of custom setup. "CmdkeySetup" (required)
typeProperties Cmdkey command custom setup type properties. CmdkeySetupTypeProperties (required)

CmdkeySetupTypeProperties

Name Description Value
password The password of data source access. SecretBase (required)
targetName The server name of data source access. Type: string.
userName The user name of data source access. Type: string.

SecretBase

Name Description Value
type Set the object type AzureKeyVaultSecret
SecureString (required)

AzureKeyVaultSecretReference

Name Description Value
secretName The name of the secret in Azure Key Vault. Type: string (or Expression with resultType string).
secretVersion The version of the secret in Azure Key Vault. The default value is the latest version of the secret. Type: string (or Expression with resultType string).
store The Azure Key Vault linked service reference. LinkedServiceReference (required)
type Type of the secret. string (required)

LinkedServiceReference

Name Description Value
parameters Arguments for LinkedService. ParameterValueSpecification
referenceName Reference LinkedService name. string (required)
type Linked service reference type. "LinkedServiceReference" (required)

ParameterValueSpecification

Name Description Value
{customized property}

ComponentSetup

Name Description Value
type The type of custom setup. "ComponentSetup" (required)
typeProperties Install 3rd party component type properties. LicensedComponentSetupTypeProperties (required)

LicensedComponentSetupTypeProperties

Name Description Value
componentName The name of the 3rd party component. string (required)
licenseKey The license key to activate the component. SecretBase

EnvironmentVariableSetup

Name Description Value
type The type of custom setup. "EnvironmentVariableSetup" (required)
typeProperties Add environment variable type properties. EnvironmentVariableSetupTypeProperties (required)

EnvironmentVariableSetupTypeProperties

Name Description Value
variableName The name of the environment variable. string (required)
variableValue The value of the environment variable. string (required)

PackageStore

Name Description Value
name The name of the package store string (required)
packageStoreLinkedService The package store linked service reference. EntityReference (required)

SelfHostedIntegrationRuntime

Name Description Value
type Type of integration runtime. "SelfHosted" (required)
typeProperties When this property is not null, means this is a linked integration runtime. The property is used to access original integration runtime. SelfHostedIntegrationRuntimeTypeProperties

SelfHostedIntegrationRuntimeTypeProperties

Name Description Value
linkedInfo The base definition of a linked integration runtime. LinkedIntegrationRuntimeType
selfContainedInteractiveAuthoringEnabled An alternative option to ensure interactive authoring function when your self-hosted integration runtime is unable to establish a connection with Azure Relay. bool

LinkedIntegrationRuntimeType

Name Description Value
authorizationType Set the object type Key
RBAC (required)

LinkedIntegrationRuntimeKeyAuthorization

Name Description Value
authorizationType The authorization type for integration runtime sharing. "Key" (required)
key The key used for authorization. SecureString (required)

LinkedIntegrationRuntimeRbacAuthorization

Name Description Value
authorizationType The authorization type for integration runtime sharing. "RBAC" (required)
credential The credential reference containing authentication information. CredentialReference
resourceId The resource identifier of the integration runtime to be shared. string (required)