Microsoft.Migrate migrateProjects/solutions

Bicep resource definition

The migrateProjects/solutions 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 Migrate Project Solutions.

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

resource project 'Microsoft.Migrate/migrateProjects@2020-05-01' = {
  name: resourceName
  location: location
  properties: {
    publicNetworkAccess: 'Enabled'
    utilityStorageAccountId: storageAccount.id
  }
}

resource storageAccount 'Microsoft.Storage/storageAccounts@2021-09-01' = {
  name: resourceName
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
  properties: {
    accessTier: 'Hot'
    allowBlobPublicAccess: true
    allowCrossTenantReplication: true
    allowSharedKeyAccess: true
    defaultToOAuthAuthentication: false
    encryption: {
      keySource: 'Microsoft.Storage'
      services: {
        queue: {
          keyType: 'Service'
        }
        table: {
          keyType: 'Service'
        }
      }
    }
    isHnsEnabled: false
    isNfsV3Enabled: false
    isSftpEnabled: false
    minimumTlsVersion: 'TLS1_2'
    networkAcls: {
      defaultAction: 'Allow'
    }
    publicNetworkAccess: 'Enabled'
    supportsHttpsTrafficOnly: true
  }
}

resource solution 'Microsoft.Migrate/migrateProjects/solutions@2018-09-01-preview' = {
  name: resourceName
  parent: project
  properties: {
    summary: {
      instanceType: 'Servers'
      migratedCount: 0
    }
  }
}

Resource format

To create a Microsoft.Migrate/migrateProjects/solutions resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.Migrate/migrateProjects/solutions@2023-01-01' = {
  parent: resourceSymbolicName
  etag: 'string'
  name: 'string'
  properties: {
    cleanupState: 'string'
    details: {
      assessmentCount: int
      extendedDetails: {
        {customized property}: 'string'
      }
      groupCount: int
    }
    goal: 'string'
    purpose: 'string'
    status: 'string'
    summary: {}
    tool: 'string'
  }
}

Property Values

Microsoft.Migrate/migrateProjects/solutions

Name Description Value
etag Gets or sets the ETAG for optimistic concurrency control. string
name The resource name string

Constraints:
Pattern = ^[a-zA-Z0-9-]{3,24}$ (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: migrateProjects
properties Gets or sets the properties of the solution. SolutionProperties

SolutionDetails

Name Description Value
assessmentCount Gets or sets the count of assessments reported by the solution. int
extendedDetails Gets or sets the extended details reported by the solution. SolutionDetailsExtendedDetails
groupCount Gets or sets the count of groups reported by the solution. int

SolutionDetailsExtendedDetails

Name Description Value

SolutionProperties

Name Description Value
cleanupState Gets or sets the cleanup state of the solution. 'Completed'
'Failed'
'InProgress'
'None'
'Started'
details Gets or sets the details of the solution. SolutionDetails
goal Gets or sets the goal of the solution. 'Databases'
'DataCenter'
'DesktopVirtualization'
'Servers'
'WebApplications'
purpose Gets or sets the purpose of the solution. 'Assessment'
'Discovery'
'Migration'
status Gets or sets the current status of the solution. 'Active'
'Inactive'
summary Gets or sets the summary of the solution. SolutionSummary
tool Gets or sets the tool being used in the solution. 'AppServiceMigrationAssistant'
'Carbonite'
'Cloudamize'
'CloudSphere'
'CorentTech'
'DatabaseMigrationService'
'DataMigrationAssistant'
'Device42'
'Flexera'
'JetStream'
'Lakeside'
'Modernization'
'Movere'
'RackWare'
'ServerAssessment'
'ServerAssessmentV1'
'ServerDiscovery'
'ServerDiscovery_Import'
'ServerMigration'
'ServerMigration_DataReplication'
'ServerMigration_Replication'
'Turbonomic'
'UnifyCloud'
'Unknown'
'Zerto'

SolutionSummary

Name Description Value

ARM template resource definition

The migrateProjects/solutions resource type can be deployed with operations that target:

Usage Examples

Azure Quickstart Templates

The following Azure Quickstart templates deploy this resource type.

Template Description
Create an Azure Migrate project

Deploy to Azure
This template creates an Azure Migrate project that will be used for discovering, assessing and migrating servers, apps, data

Resource format

To create a Microsoft.Migrate/migrateProjects/solutions resource, add the following JSON to your template.

{
  "type": "Microsoft.Migrate/migrateProjects/solutions",
  "apiVersion": "2023-01-01",
  "name": "string",
  "etag": "string",
  "properties": {
    "cleanupState": "string",
    "details": {
      "assessmentCount": "int",
      "extendedDetails": {
        "{customized property}": "string"
      },
      "groupCount": "int"
    },
    "goal": "string",
    "purpose": "string",
    "status": "string",
    "summary": {
    },
    "tool": "string"
  }
}

Property Values

Microsoft.Migrate/migrateProjects/solutions

Name Description Value
apiVersion The api version '2023-01-01'
etag Gets or sets the ETAG for optimistic concurrency control. string
name The resource name string

Constraints:
Pattern = ^[a-zA-Z0-9-]{3,24}$ (required)
properties Gets or sets the properties of the solution. SolutionProperties
type The resource type 'Microsoft.Migrate/migrateProjects/solutions'

SolutionDetails

Name Description Value
assessmentCount Gets or sets the count of assessments reported by the solution. int
extendedDetails Gets or sets the extended details reported by the solution. SolutionDetailsExtendedDetails
groupCount Gets or sets the count of groups reported by the solution. int

SolutionDetailsExtendedDetails

Name Description Value

SolutionProperties

Name Description Value
cleanupState Gets or sets the cleanup state of the solution. 'Completed'
'Failed'
'InProgress'
'None'
'Started'
details Gets or sets the details of the solution. SolutionDetails
goal Gets or sets the goal of the solution. 'Databases'
'DataCenter'
'DesktopVirtualization'
'Servers'
'WebApplications'
purpose Gets or sets the purpose of the solution. 'Assessment'
'Discovery'
'Migration'
status Gets or sets the current status of the solution. 'Active'
'Inactive'
summary Gets or sets the summary of the solution. SolutionSummary
tool Gets or sets the tool being used in the solution. 'AppServiceMigrationAssistant'
'Carbonite'
'Cloudamize'
'CloudSphere'
'CorentTech'
'DatabaseMigrationService'
'DataMigrationAssistant'
'Device42'
'Flexera'
'JetStream'
'Lakeside'
'Modernization'
'Movere'
'RackWare'
'ServerAssessment'
'ServerAssessmentV1'
'ServerDiscovery'
'ServerDiscovery_Import'
'ServerMigration'
'ServerMigration_DataReplication'
'ServerMigration_Replication'
'Turbonomic'
'UnifyCloud'
'Unknown'
'Zerto'

SolutionSummary

Name Description Value

Terraform (AzAPI provider) resource definition

The migrateProjects/solutions 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 Migrate Project Solutions.

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" "storageAccount" {
  type      = "Microsoft.Storage/storageAccounts@2021-09-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    kind = "StorageV2"
    properties = {
      accessTier                   = "Hot"
      allowBlobPublicAccess        = true
      allowCrossTenantReplication  = true
      allowSharedKeyAccess         = true
      defaultToOAuthAuthentication = false
      encryption = {
        keySource = "Microsoft.Storage"
        services = {
          queue = {
            keyType = "Service"
          }
          table = {
            keyType = "Service"
          }
        }
      }
      isHnsEnabled      = false
      isNfsV3Enabled    = false
      isSftpEnabled     = false
      minimumTlsVersion = "TLS1_2"
      networkAcls = {
        defaultAction = "Allow"
      }
      publicNetworkAccess      = "Enabled"
      supportsHttpsTrafficOnly = true
    }
    sku = {
      name = "Standard_LRS"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}



resource "azapi_resource" "project" {
  type      = "Microsoft.Migrate/migrateProjects@2020-05-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      publicNetworkAccess     = "Enabled"
      utilityStorageAccountId = azapi_resource.storageAccount.id
    }
  }
}

resource "azapi_resource" "solution" {
  type      = "Microsoft.Migrate/migrateProjects/solutions@2018-09-01-preview"
  parent_id = azapi_resource.project.id
  name      = var.resource_name

  body = {
    properties = {
      summary = {
        instanceType  = "Servers"
        migratedCount = 0
      }
    }
  }

}

Resource format

To create a Microsoft.Migrate/migrateProjects/solutions resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Migrate/migrateProjects/solutions@2023-01-01"
  name = "string"
  parent_id = "string"
  body = {
    etag = "string"
    properties = {
      cleanupState = "string"
      details = {
        assessmentCount = int
        extendedDetails = {
          {customized property} = "string"
        }
        groupCount = int
      }
      goal = "string"
      purpose = "string"
      status = "string"
      summary = {
      }
      tool = "string"
    }
  }
}

Property Values

Microsoft.Migrate/migrateProjects/solutions

Name Description Value
etag Gets or sets the ETAG for optimistic concurrency control. string
name The resource name string

Constraints:
Pattern = ^[a-zA-Z0-9-]{3,24}$ (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: migrateProjects
properties Gets or sets the properties of the solution. SolutionProperties
type The resource type "Microsoft.Migrate/migrateProjects/solutions@2023-01-01"

SolutionDetails

Name Description Value
assessmentCount Gets or sets the count of assessments reported by the solution. int
extendedDetails Gets or sets the extended details reported by the solution. SolutionDetailsExtendedDetails
groupCount Gets or sets the count of groups reported by the solution. int

SolutionDetailsExtendedDetails

Name Description Value

SolutionProperties

Name Description Value
cleanupState Gets or sets the cleanup state of the solution. 'Completed'
'Failed'
'InProgress'
'None'
'Started'
details Gets or sets the details of the solution. SolutionDetails
goal Gets or sets the goal of the solution. 'Databases'
'DataCenter'
'DesktopVirtualization'
'Servers'
'WebApplications'
purpose Gets or sets the purpose of the solution. 'Assessment'
'Discovery'
'Migration'
status Gets or sets the current status of the solution. 'Active'
'Inactive'
summary Gets or sets the summary of the solution. SolutionSummary
tool Gets or sets the tool being used in the solution. 'AppServiceMigrationAssistant'
'Carbonite'
'Cloudamize'
'CloudSphere'
'CorentTech'
'DatabaseMigrationService'
'DataMigrationAssistant'
'Device42'
'Flexera'
'JetStream'
'Lakeside'
'Modernization'
'Movere'
'RackWare'
'ServerAssessment'
'ServerAssessmentV1'
'ServerDiscovery'
'ServerDiscovery_Import'
'ServerMigration'
'ServerMigration_DataReplication'
'ServerMigration_Replication'
'Turbonomic'
'UnifyCloud'
'Unknown'
'Zerto'

SolutionSummary

Name Description Value