Microsoft.DataMigration services/projects 2018-03-15-preview

Bicep resource definition

The services/projects resource type can be deployed with operations that target:

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

Usage Examples

Bicep Samples

A basic example of deploying Azure Database Migration Project instance.

param resourceName string = 'acctest0001'
param location string = 'westeurope'

resource service 'Microsoft.DataMigration/services@2018-04-19' = {
  name: resourceName
  location: location
  sku: {
    name: 'Standard_1vCores'
  }
  kind: 'Cloud'
  properties: {
    virtualSubnetId: subnet.id
  }
}

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2022-07-01' = {
  name: resourceName
  location: location
  properties: {
    addressSpace: {
      addressPrefixes: [
        '10.0.0.0/16'
      ]
    }
    dhcpOptions: {
      dnsServers: []
    }
    subnets: []
  }
}

resource project 'Microsoft.DataMigration/services/projects@2018-04-19' = {
  name: resourceName
  location: location
  parent: service
  properties: {
    sourcePlatform: 'SQL'
    targetPlatform: 'SQLDB'
  }
}

resource subnet 'Microsoft.Network/virtualNetworks/subnets@2022-07-01' = {
  name: resourceName
  parent: virtualNetwork
  properties: {
    addressPrefix: '10.0.1.0/24'
    delegations: []
    privateEndpointNetworkPolicies: 'Enabled'
    privateLinkServiceNetworkPolicies: 'Enabled'
    serviceEndpointPolicies: []
    serviceEndpoints: []
  }
}

Resource format

To create a Microsoft.DataMigration/services/projects resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.DataMigration/services/projects@2018-03-15-preview' = {
  parent: resourceSymbolicName
  location: 'string'
  name: 'string'
  properties: {
    databasesInfo: [
      {
        sourceDatabaseName: 'string'
      }
    ]
    sourceConnectionInfo: {
      password: 'string'
      userName: 'string'
      type: 'string'
      // For remaining properties, see ConnectionInfo objects
    }
    sourcePlatform: 'string'
    targetConnectionInfo: {
      password: 'string'
      userName: 'string'
      type: 'string'
      // For remaining properties, see ConnectionInfo objects
    }
    targetPlatform: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

ConnectionInfo objects

Set the type property to specify the type of object.

For SqlConnectionInfo, use:

{
  additionalSettings: 'string'
  authentication: 'string'
  dataSource: 'string'
  encryptConnection: bool
  trustServerCertificate: bool
  type: 'SqlConnectionInfo'
}

Property Values

Microsoft.DataMigration/services/projects

Name Description Value
location Resource location. string (required)
name The resource name string (required)
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: services
properties Project properties ProjectProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates

ConnectionInfo

Name Description Value
password Password credential. string
type Set to 'SqlConnectionInfo' for type SqlConnectionInfo. 'SqlConnectionInfo' (required)
userName User name string

DatabaseInfo

Name Description Value
sourceDatabaseName Name of the database string (required)

ProjectProperties

Name Description Value
databasesInfo List of DatabaseInfo DatabaseInfo[]
sourceConnectionInfo Information for connecting to source ConnectionInfo
sourcePlatform Source platform for the project 'SQL'
'Unknown' (required)
targetConnectionInfo Information for connecting to target ConnectionInfo
targetPlatform Target platform for the project 'SQLDB'
'Unknown' (required)

SqlConnectionInfo

Name Description Value
additionalSettings Additional connection settings string
authentication Authentication type to use for connection 'ActiveDirectoryIntegrated'
'ActiveDirectoryPassword'
'None'
'SqlAuthentication'
'WindowsAuthentication'
dataSource Data source in the format Protocol:MachineName\SQLServerInstanceName,PortNumber string (required)
encryptConnection Whether to encrypt the connection bool
trustServerCertificate Whether to trust the server certificate bool
type Type of connection info 'SqlConnectionInfo' (required)

TrackedResourceTags

Name Description Value

ARM template resource definition

The services/projects resource type can be deployed with operations that target:

Usage Examples

Resource format

To create a Microsoft.DataMigration/services/projects resource, add the following JSON to your template.

{
  "type": "Microsoft.DataMigration/services/projects",
  "apiVersion": "2018-03-15-preview",
  "name": "string",
  "location": "string",
  "properties": {
    "databasesInfo": [
      {
        "sourceDatabaseName": "string"
      }
    ],
    "sourceConnectionInfo": {
      "password": "string",
      "userName": "string",
      "type": "string"
      // For remaining properties, see ConnectionInfo objects
    },
    "sourcePlatform": "string",
    "targetConnectionInfo": {
      "password": "string",
      "userName": "string",
      "type": "string"
      // For remaining properties, see ConnectionInfo objects
    },
    "targetPlatform": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

ConnectionInfo objects

Set the type property to specify the type of object.

For SqlConnectionInfo, use:

{
  "additionalSettings": "string",
  "authentication": "string",
  "dataSource": "string",
  "encryptConnection": "bool",
  "trustServerCertificate": "bool",
  "type": "SqlConnectionInfo"
}

Property Values

Microsoft.DataMigration/services/projects

Name Description Value
apiVersion The api version '2018-03-15-preview'
location Resource location. string (required)
name The resource name string (required)
properties Project properties ProjectProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.DataMigration/services/projects'

ConnectionInfo

Name Description Value
password Password credential. string
type Set to 'SqlConnectionInfo' for type SqlConnectionInfo. 'SqlConnectionInfo' (required)
userName User name string

DatabaseInfo

Name Description Value
sourceDatabaseName Name of the database string (required)

ProjectProperties

Name Description Value
databasesInfo List of DatabaseInfo DatabaseInfo[]
sourceConnectionInfo Information for connecting to source ConnectionInfo
sourcePlatform Source platform for the project 'SQL'
'Unknown' (required)
targetConnectionInfo Information for connecting to target ConnectionInfo
targetPlatform Target platform for the project 'SQLDB'
'Unknown' (required)

SqlConnectionInfo

Name Description Value
additionalSettings Additional connection settings string
authentication Authentication type to use for connection 'ActiveDirectoryIntegrated'
'ActiveDirectoryPassword'
'None'
'SqlAuthentication'
'WindowsAuthentication'
dataSource Data source in the format Protocol:MachineName\SQLServerInstanceName,PortNumber string (required)
encryptConnection Whether to encrypt the connection bool
trustServerCertificate Whether to trust the server certificate bool
type Type of connection info 'SqlConnectionInfo' (required)

TrackedResourceTags

Name Description Value

Terraform (AzAPI provider) resource definition

The services/projects resource type can be deployed with operations that target:

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

Usage Examples

Terraform Samples

A basic example of deploying Azure Database Migration Project instance.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "virtualNetwork" {
  type      = "Microsoft.Network/virtualNetworks@2022-07-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      addressSpace = {
        addressPrefixes = [
          "10.0.0.0/16",
        ]
      }
      dhcpOptions = {
        dnsServers = [
        ]
      }
      subnets = [
      ]
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
  lifecycle {
    ignore_changes = [body.properties.subnets]
  }
}

resource "azapi_resource" "subnet" {
  type      = "Microsoft.Network/virtualNetworks/subnets@2022-07-01"
  parent_id = azapi_resource.virtualNetwork.id
  name      = var.resource_name
  body = {
    properties = {
      addressPrefix = "10.0.1.0/24"
      delegations = [
      ]
      privateEndpointNetworkPolicies    = "Enabled"
      privateLinkServiceNetworkPolicies = "Enabled"
      serviceEndpointPolicies = [
      ]
      serviceEndpoints = [
      ]
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "service" {
  type      = "Microsoft.DataMigration/services@2018-04-19"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    kind = "Cloud"
    properties = {
      virtualSubnetId = azapi_resource.subnet.id
    }
    sku = {
      name = "Standard_1vCores"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "project" {
  type      = "Microsoft.DataMigration/services/projects@2018-04-19"
  parent_id = azapi_resource.service.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      sourcePlatform = "SQL"
      targetPlatform = "SQLDB"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

Resource format

To create a Microsoft.DataMigration/services/projects resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DataMigration/services/projects@2018-03-15-preview"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      databasesInfo = [
        {
          sourceDatabaseName = "string"
        }
      ]
      sourceConnectionInfo = {
        password = "string"
        userName = "string"
        type = "string"
        // For remaining properties, see ConnectionInfo objects
      }
      sourcePlatform = "string"
      targetConnectionInfo = {
        password = "string"
        userName = "string"
        type = "string"
        // For remaining properties, see ConnectionInfo objects
      }
      targetPlatform = "string"
    }
  }
}

ConnectionInfo objects

Set the type property to specify the type of object.

For SqlConnectionInfo, use:

{
  additionalSettings = "string"
  authentication = "string"
  dataSource = "string"
  encryptConnection = bool
  trustServerCertificate = bool
  type = "SqlConnectionInfo"
}

Property Values

Microsoft.DataMigration/services/projects

Name Description Value
location Resource location. string (required)
name The resource name string (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: services
properties Project properties ProjectProperties
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.DataMigration/services/projects@2018-03-15-preview"

ConnectionInfo

Name Description Value
password Password credential. string
type Set to 'SqlConnectionInfo' for type SqlConnectionInfo. 'SqlConnectionInfo' (required)
userName User name string

DatabaseInfo

Name Description Value
sourceDatabaseName Name of the database string (required)

ProjectProperties

Name Description Value
databasesInfo List of DatabaseInfo DatabaseInfo[]
sourceConnectionInfo Information for connecting to source ConnectionInfo
sourcePlatform Source platform for the project 'SQL'
'Unknown' (required)
targetConnectionInfo Information for connecting to target ConnectionInfo
targetPlatform Target platform for the project 'SQLDB'
'Unknown' (required)

SqlConnectionInfo

Name Description Value
additionalSettings Additional connection settings string
authentication Authentication type to use for connection 'ActiveDirectoryIntegrated'
'ActiveDirectoryPassword'
'None'
'SqlAuthentication'
'WindowsAuthentication'
dataSource Data source in the format Protocol:MachineName\SQLServerInstanceName,PortNumber string (required)
encryptConnection Whether to encrypt the connection bool
trustServerCertificate Whether to trust the server certificate bool
type Type of connection info 'SqlConnectionInfo' (required)

TrackedResourceTags

Name Description Value