Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 15 additions & 9 deletions modules/Microsoft.DataFactory/factories/.test/parameters.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,23 @@
}
]
},
"integrationRuntime": {
"value": {
"name": "AutoResolveIntegrationRuntime",
"type": "Managed",
"managedVirtualNetworkName": "default",
"typeProperties": {
"computeProperties": {
"location": "AutoResolve"
"integrationRuntimes": {
"value": [
{
"name": "AutoResolveIntegrationRuntime",
"type": "Managed",
"managedVirtualNetworkName": "default",
"typeProperties": {
"computeProperties": {
"location": "AutoResolve"
}
}
},
{
"name": "TestRuntime",
"type": "SelfHosted"
}
}
]
},
"publicNetworkAccess": {
"value": "Disabled"
Expand Down
14 changes: 7 additions & 7 deletions modules/Microsoft.DataFactory/factories/deploy.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ param managedVirtualNetworkName string = ''
@description('Optional. An array of managed private endpoints objects created in the Data Factory managed virtual network.')
param managedPrivateEndpoints array = []

@description('Optional. The object for the configuration of a Integration Runtime.')
param integrationRuntime object = {}
@description('Optional. An array of objects for the configuration of an Integration Runtime.')
param integrationRuntimes array = []

@description('Optional. Location for all Resources.')
param location string = resourceGroup().location
Expand Down Expand Up @@ -204,7 +204,7 @@ resource dataFactory 'Microsoft.DataFactory/factories@2018-06-01' = {
}
}

module dataFactory_managedVirtualNetwork 'managedVirtualNetwork/deploy.bicep' = if (!empty(managedVirtualNetworkName)) {
module dataFactory_managedVirtualNetwork 'managedVirtualNetworks/deploy.bicep' = if (!empty(managedVirtualNetworkName)) {
name: '${uniqueString(deployment().name, location)}-DataFactory-ManagedVNet'
params: {
name: managedVirtualNetworkName
Expand All @@ -214,20 +214,20 @@ module dataFactory_managedVirtualNetwork 'managedVirtualNetwork/deploy.bicep' =
}
}

module dataFactory_integrationRuntime 'integrationRuntime/deploy.bicep' = if (!empty(integrationRuntime)) {
name: '${uniqueString(deployment().name, location)}-DataFactory-IntegrationRuntime'
module dataFactory_integrationRuntimes 'integrationRuntimes/deploy.bicep' = [for (integrationRuntime, index) in integrationRuntimes: {
name: '${uniqueString(deployment().name, location)}-DataFactory-IntegrationRuntime-${index}'
params: {
dataFactoryName: dataFactory.name
name: integrationRuntime.name
type: integrationRuntime.type
managedVirtualNetworkName: contains(integrationRuntime, 'managedVirtualNetworkName') ? integrationRuntime.managedVirtualNetworkName : ''
typeProperties: integrationRuntime.typeProperties
typeProperties: contains(integrationRuntime, 'typeProperties') ? integrationRuntime.typeProperties : {}
enableDefaultTelemetry: enableReferencedModulesTelemetry
}
dependsOn: [
dataFactory_managedVirtualNetwork
]
}
}]

resource dataFactory_lock 'Microsoft.Authorization/locks@2017-04-01' = if (!empty(lock)) {
name: '${dataFactory.name}-${lock}-lock'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ param type string
@description('Optional. The name of the Managed Virtual Network if using type "Managed" .')
param managedVirtualNetworkName string = ''

@description('Required. Integration Runtime type properties.')
param typeProperties object
@description('Optional. Integration Runtime type properties. Required if type is "Managed".')
param typeProperties object = {}

@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).')
param enableDefaultTelemetry bool = true
Expand Down Expand Up @@ -44,10 +44,12 @@ resource dataFactory 'Microsoft.DataFactory/factories@2018-06-01' existing = {
resource integrationRuntime 'Microsoft.DataFactory/factories/integrationRuntimes@2018-06-01' = {
name: name
parent: dataFactory
properties: {
type: any(type)
managedVirtualNetwork: type == 'Managed' ? managedVirtualNetwork_var : null
properties: type == 'Managed' ? {
type: type
managedVirtualNetwork: managedVirtualNetwork_var
typeProperties: typeProperties
} : {
type: type
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Data Factory Integration RunTimes `[Microsoft.DataFactory/factories/integrationRuntime]`
# Data Factory Integration RunTimes `[Microsoft.DataFactory/factories/integrationRuntimes]`

This module deploys a Managed or Self-Hosted Integration Runtime for an Azure Data Factory

Expand All @@ -22,7 +22,6 @@ This module deploys a Managed or Self-Hosted Integration Runtime for an Azure Da
| :-- | :-- | :-- | :-- |
| `name` | string | | The name of the Integration Runtime. |
| `type` | string | `[Managed, SelfHosted]` | The type of Integration Runtime. |
| `typeProperties` | object | | Integration Runtime type properties. |

**Conditional parameters**
| Parameter Name | Type | Description |
Expand All @@ -34,6 +33,7 @@ This module deploys a Managed or Self-Hosted Integration Runtime for an Azure Da
| :-- | :-- | :-- | :-- |
| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via the Customer Usage Attribution ID (GUID). |
| `managedVirtualNetworkName` | string | `''` | The name of the Managed Virtual Network if using type "Managed" . |
| `typeProperties` | object | `{object}` | Integration Runtime type properties. Required if type is "Managed". |


### Parameter Usage: [`typeProperties`](https://docs.microsoft.com/en-us/azure/templates/microsoft.datafactory/factories/integrationruntimes?tabs=bicep#integrationruntime-objects)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# DataFactory Factories ManagedVirtualNetwork ManagedPrivateEndpoints `[Microsoft.DataFactory/factories/managedVirtualNetwork/managedPrivateEndpoints]`
# DataFactory Factories ManagedVirtualNetwork ManagedPrivateEndpoints `[Microsoft.DataFactory/factories/managedVirtualNetworks/managedPrivateEndpoints]`

This module deploys a Managed Private Endpoint in a Managed Virtual Network for an Azure Data Factory

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Data Factory Managed Virtual Network `[Microsoft.DataFactory/factories/managedVirtualNetwork]`
# Data Factory Managed Virtual Network `[Microsoft.DataFactory/factories/managedVirtualNetworks]`

This module deploys a Managed Virtual Network for an Azure Data Factory

Expand Down
48 changes: 30 additions & 18 deletions modules/Microsoft.DataFactory/factories/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
| `gitRepositoryName` | string | `''` | | The repository name. |
| `gitRepoType` | string | `'FactoryVSTSConfiguration'` | | Repository type - can be 'FactoryVSTSConfiguration' or 'FactoryGitHubConfiguration'. Default is 'FactoryVSTSConfiguration'. |
| `gitRootFolder` | string | `'/'` | | The root folder path name. Default is '/'. |
| `integrationRuntime` | _[integrationRuntime](integrationRuntime/readme.md)_ object | `{object}` | | The object for the configuration of a Integration Runtime. |
| `integrationRuntimes` | _[integrationRuntimes](integrationRuntimes/readme.md)_ array | `[]` | | An array of objects for the configuration of an Integration Runtime. |
| `location` | string | `[resourceGroup().location]` | | Location for all Resources. |
| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
| `managedPrivateEndpoints` | array | `[]` | | An array of managed private endpoints objects created in the Data Factory managed virtual network. |
Expand Down Expand Up @@ -413,16 +413,22 @@ module factories './Microsoft.DataFactory/factories/deploy.bicep' = {
diagnosticStorageAccountId: '/subscriptions/<<subscriptionId>>/resourceGroups/validation-rg/providers/Microsoft.Storage/storageAccounts/adp<<namePrefix>>azsax001'
diagnosticWorkspaceId: '/subscriptions/<<subscriptionId>>/resourcegroups/validation-rg/providers/microsoft.operationalinsights/workspaces/adp-<<namePrefix>>-az-law-x-001'
gitConfigureLater: true
integrationRuntime: {
managedVirtualNetworkName: 'default'
name: 'AutoResolveIntegrationRuntime'
type: 'Managed'
typeProperties: {
computeProperties: {
location: 'AutoResolve'
integrationRuntimes: [
{
managedVirtualNetworkName: 'default'
name: 'AutoResolveIntegrationRuntime'
type: 'Managed'
typeProperties: {
computeProperties: {
location: 'AutoResolve'
}
}
}
}
{
name: 'TestRuntime'
type: 'SelfHosted'
}
]
lock: 'CanNotDelete'
managedPrivateEndpoints: [
{
Expand Down Expand Up @@ -507,17 +513,23 @@ module factories './Microsoft.DataFactory/factories/deploy.bicep' = {
"gitConfigureLater": {
"value": true
},
"integrationRuntime": {
"value": {
"managedVirtualNetworkName": "default",
"name": "AutoResolveIntegrationRuntime",
"type": "Managed",
"typeProperties": {
"computeProperties": {
"location": "AutoResolve"
"integrationRuntimes": {
"value": [
{
"managedVirtualNetworkName": "default",
"name": "AutoResolveIntegrationRuntime",
"type": "Managed",
"typeProperties": {
"computeProperties": {
"location": "AutoResolve"
}
}
},
{
"name": "TestRuntime",
"type": "SelfHosted"
}
}
]
},
"lock": {
"value": "CanNotDelete"
Expand Down