Skip to content
Draft
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
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ Microsoft.Azure.PowerShell.Cmdlets.Migrate.Models.IVMwareMachine
https://learn.microsoft.com/powershell/module/az.migrate/get-azmigratediscoveredserver
#>
function Get-AzMigrateDiscoveredServer {
[Microsoft.Azure.PowerShell.Cmdlets.Migrate.ModelCmdletAttribute()]
[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Migrate.Models.IVMwareMachine], [Microsoft.Azure.PowerShell.Cmdlets.Migrate.Models.IHyperVMachine])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -395,12 +395,29 @@ function Get-AzMigrateServerMigrationStatus {
{
throw "No appliance found with name $ApplianceName"
}

if ($PSBoundParameters.ContainsKey('SubscriptionId')) {
if ($null -eq $PSBoundParameters['SubscriptionId'] -or `
($PSBoundParameters['SubscriptionId'] -is [System.Array] -and $PSBoundParameters['SubscriptionId'].Count -eq 0) -or `
[string]::IsNullOrEmpty($PSBoundParameters['SubscriptionId'])) {
$currentContext = Get-AzContext
if ($null -eq $currentContext -or [string]::IsNullOrEmpty($currentContext.Subscription.Id)) {
throw "No Azure context is set. Please login using Connect-AzAccount."
}
$PSBoundParameters['SubscriptionId'] = $currentContext.Subscription.Id
}
}
else {
$currentContext = Get-AzContext
if ($null -eq $currentContext -or [string]::IsNullOrEmpty($currentContext.Subscription.Id)) {
throw "No Azure context is set. Please login using Connect-AzAccount."
}
$PSBoundParameters['SubscriptionId'] = $currentContext.Subscription.Id
}
if ($parameterSet -eq "GetByMachineName" -or $parameterSet -eq "GetHealthByMachineName" -or $parameterSet -eq "GetByPrioritiseServer") {
$ReplicationMigrationItems = Get-AzMigrateServerReplication -ProjectName $ProjectName -ResourceGroupName $ResourceGroupName -MachineName $MachineName
$ReplicationMigrationItems = Get-AzMigrateServerReplication -ProjectName $ProjectName -ResourceGroupName $ResourceGroupName -MachineName $MachineName -SubscriptionId $PSBoundParameters['SubscriptionId']
}
else {
$ReplicationMigrationItems = Get-AzMigrateServerReplication -ProjectName $ProjectName -ResourceGroupName $ResourceGroupName
$ReplicationMigrationItems = Get-AzMigrateServerReplication -ProjectName $ProjectName -ResourceGroupName $ResourceGroupName -SubscriptionId $PSBoundParameters['SubscriptionId']
}

if ($ReplicationMigrationItems -eq $null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ The New-AzMigrateDiskMapping cmdlet creates a mapping of the source disk attache
https://learn.microsoft.com/powershell/module/az.migrate/new-azmigratediskmapping
#>
function New-AzMigrateDiskMapping {
[Microsoft.Azure.PowerShell.Cmdlets.Migrate.ModelCmdletAttribute()]
[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Migrate.Models.IVMwareCbtDiskInput])]
[CmdletBinding(DefaultParameterSetName = 'VMwareCbt', PositionalBinding = $false)]
param(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ The New-AzMigrateNicMapping cmdlet creates a mapping of the source NIC attached
https://learn.microsoft.com/powershell/module/az.migrate/new-azmigratenicmapping
#>
function New-AzMigrateNicMapping {
[Microsoft.Azure.PowerShell.Cmdlets.Migrate.ModelCmdletAttribute()]
[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Migrate.Models.IVMwareCbtNicInput])]
[CmdletBinding(DefaultParameterSetName = 'VMwareCbt', PositionalBinding = $false)]
param(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ https://learn.microsoft.com/powershell/module/az.migrate/new-azmigrateproject
#>

function New-AzMigrateProject {
[Microsoft.Azure.PowerShell.Cmdlets.Migrate.ModelCmdletAttribute()]
[CmdletBinding(DefaultParameterSetName='PutExpandedCustom', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param (
[Parameter(ParameterSetName='PutExpandedCustom', Mandatory)]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@


# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
Expand All @@ -22,6 +22,7 @@ The New-AzMigrateServerReplication cmdlet starts the replication for a particula
https://learn.microsoft.com/powershell/module/az.migrate/new-azmigrateserverreplication
#>
function New-AzMigrateServerReplication {
[Microsoft.Azure.PowerShell.Cmdlets.Migrate.ModelCmdletAttribute()]
[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Migrate.Models.IJob])]
[CmdletBinding(DefaultParameterSetName = 'ByIdDefaultUser', PositionalBinding = $false)]
param(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ The New-AzMigrateTestNicMapping cmdlet creates a mapping of the source NIC attac
https://learn.microsoft.com/powershell/module/az.migrate/new-azmigratetestnicmapping
#>
function New-AzMigrateTestNicMapping {
[Microsoft.Azure.PowerShell.Cmdlets.Migrate.ModelCmdletAttribute()]
[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Migrate.Models.IVMwareCbtNicInput])]
[CmdletBinding(DefaultParameterSetName = 'VMwareCbt', PositionalBinding = $false, SupportsShouldProcess, ConfirmImpact = 'Medium')]
param(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ The Set-AzMigrateDiskMapping cmdlet updates a mapping of the source disk attache
https://learn.microsoft.com/powershell/module/az.migrate/set-azmigratediskmapping
#>
function Set-AzMigrateDiskMapping {
[Microsoft.Azure.PowerShell.Cmdlets.Migrate.ModelCmdletAttribute()]
[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Migrate.Models.IVMwareCbtUpdateDiskInput])]
[CmdletBinding(DefaultParameterSetName = 'VMwareCbt', PositionalBinding = $false)]
param(
Expand Down
294 changes: 171 additions & 123 deletions src/Migrate/Migrate.Autorest/test/Get-AzMigrateJob.Recording.json

Large diffs are not rendered by default.

15 changes: 9 additions & 6 deletions src/Migrate/Migrate.Autorest/test/Get-AzMigrateJob.Tests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -11,30 +11,33 @@ while(-not $mockingPath) {
}
. ($mockingPath | Select-Object -First 1).FullName

$JobName = "c79dc2d7-374f-4ec1-affe-1bcb12328125"
$JobId = "/Subscriptions/6b72781d-4550-419b-a56e-44055341a88e/resourceGroups/cbtgqlsrcrg/providers/Microsoft.RecoveryServices/vaults/ecygqlapp4055vault/replicationJobs/c79dc2d7-374f-4ec1-affe-1bcb12328125"

Describe 'Get-AzMigrateJob' {
It 'ListByName' {
$output = Get-AzMigrateJob -ProjectName $env.srsProjectName -ResourceGroupName $env.migResourceGroup -SubscriptionId $env.srsSubscriptionId
$output = Get-AzMigrateJob -ProjectName $env.migProjectName -ResourceGroupName $env.migResourceGroup -SubscriptionId $env.migSubscriptionId
$output.Count | Should -BeGreaterOrEqual 1
}

It 'GetByName' {
$output = Get-AzMigrateJob -ProjectName $env.srsProjectName -ResourceGroupName $env.migResourceGroup -JobName $env.srsJobName -SubscriptionId $env.srsSubscriptionId
$output = Get-AzMigrateJob -ProjectName $env.migProjectName -ResourceGroupName $env.migResourceGroup -JobName $JobName -SubscriptionId $env.migSubscriptionId
$output.Count | Should -BeGreaterOrEqual 1
}

It 'GetByID' {
$output = Get-AzMigrateJob -JobID $env.srsJobId -SubscriptionId $env.srsSubscriptionId
$output = Get-AzMigrateJob -JobID $JobId -SubscriptionId $env.migSubscriptionId
$output.Count | Should -BeGreaterOrEqual 1
}

It 'GetByInputObject' {
$output = Get-AzMigrateJob -JobID $env.srsJobId -SubscriptionId $env.srsSubscriptionId
$output = Get-AzMigrateJob -InputObject $output -SubscriptionId $env.srsSubscriptionId
$output = Get-AzMigrateJob -JobID $JobId -SubscriptionId $env.migSubscriptionId
$output = Get-AzMigrateJob -InputObject $output -SubscriptionId $env.migSubscriptionId
$output.Count | Should -BeGreaterOrEqual 1
}

It 'ListById' {
$output = Get-AzMigrateJob -ProjectID $env.srsProjectId -ResourceGroupID $env.migResourceGroupId -SubscriptionId $env.srsSubscriptionId
$output = Get-AzMigrateJob -ProjectID $env.migProjectId -ResourceGroupID $env.migResourceGroupId -SubscriptionId $env.migSubscriptionId
$output.Count | Should -BeGreaterOrEqual 1
}
}
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
{
"Get-AzMigrateProject+[NoContext]+Get+$GET+https://management.azure.com/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/cbtsignoff2201rg/providers/Microsoft.Migrate/migrateProjects/signoffccyproj?api-version=2018-09-01-preview+1": {
"Get-AzMigrateProject+[NoContext]+Get+$GET+https://management.azure.com/subscriptions/6b72781d-4550-419b-a56e-44055341a88e/resourceGroups/cbtgqlsrcrg/providers/Microsoft.Migrate/migrateProjects/cbtecygqlproj?api-version=2018-09-01-preview+1": {
"Request": {
"Method": "GET",
"RequestUri": "https://management.azure.com/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/cbtsignoff2201rg/providers/Microsoft.Migrate/migrateProjects/signoffccyproj?api-version=2018-09-01-preview",
"RequestUri": "https://management.azure.com/subscriptions/6b72781d-4550-419b-a56e-44055341a88e/resourceGroups/cbtgqlsrcrg/providers/Microsoft.Migrate/migrateProjects/cbtecygqlproj?api-version=2018-09-01-preview",
"Content": null,
"isContentBase64": false,
"Headers": {
"x-ms-unique-id": [ "20" ],
"x-ms-client-request-id": [ "4ab27bab-84c8-4bb1-b9ca-a18341f95018" ],
"x-ms-unique-id": [ "5" ],
"x-ms-client-request-id": [ "a27b79f9-7137-4543-862d-8aecdc34f735" ],
"CommandName": [ "Get-AzMigrateProject" ],
"FullCommandName": [ "Get-AzMigrateProject_Get" ],
"ParameterSetName": [ "__AllParameterSets" ],
"User-Agent": [ "AzurePowershell/Az4.0.0-preview" ],
"User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.4.11", "Az.Migrate/0.1.0" ],
"Authorization": [ "[Filtered]" ]
},
"ContentHeaders": {
Expand All @@ -21,21 +22,25 @@
"Headers": {
"Cache-Control": [ "no-cache" ],
"Pragma": [ "no-cache" ],
"ETag": [ "\"0300e365-0000-3300-0000-6331532e0000\"" ],
"ETag": [ "\"f4026eef-0000-0200-0000-691bb78a0000\"" ],
"Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ],
"x-ms-request-id": [ "9a16c1ff-145f-4b66-9dd8-0e2efb82a5c1" ],
"x-ms-request-id": [ "c0db59d7-26c3-4b85-9bd1-d84d38d8a944" ],
"X-Content-Type-Options": [ "nosniff" ],
"x-ms-ratelimit-remaining-subscription-reads": [ "11977" ],
"x-ms-correlation-request-id": [ "d5628d9d-7398-4c81-957e-53fd4c73fc91" ],
"x-ms-routing-request-id": [ "CENTRALINDIA:20220926T111855Z:d5628d9d-7398-4c81-957e-53fd4c73fc91" ],
"Date": [ "Mon, 26 Sep 2022 11:18:55 GMT" ]
"x-ms-ratelimit-remaining-subscription-reads": [ "1099" ],
"x-ms-ratelimit-remaining-subscription-global-reads": [ "16499" ],
"x-ms-correlation-request-id": [ "38bbf793-54d5-4ef7-b2a9-ea1ca8a03b7d" ],
"x-ms-routing-request-id": [ "CENTRALINDIA:20251118T072738Z:38bbf793-54d5-4ef7-b2a9-ea1ca8a03b7d" ],
"X-Cache": [ "CONFIG_NOCACHE" ],
"X-MSEdge-Ref": [ "Ref A: 6924591E25F547089D0621545A34F608 Ref B: MAA201060515027 Ref C: 2025-11-18T07:27:36Z" ],
"Date": [ "Tue, 18 Nov 2025 07:27:38 GMT" ]
},
"ContentHeaders": {
"Content-Length": [ "1543" ],
"Content-Length": [ "1531" ],
"Content-Type": [ "application/json; charset=utf-8" ],
"Expires": [ "-1" ]
},
"Content": "{\"id\":\"/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/cbtsignoff2201rg/providers/Microsoft.Migrate/MigrateProjects/signoffccyproj\",\"name\":\"signoffccyproj\",\"type\":\"Microsoft.Migrate/MigrateProjects\",\"etag\":\"\\\"0300e365-0000-3300-0000-6331532e0000\\\"\",\"location\":\"centraluseuap\",\"tags\":{\"Migrate Project\":\"signoffccyproj\"},\"properties\":{\"registeredTools\":[\"ServerDiscovery\",\"ServerAssessment\",\"ServerMigration\"],\"serviceEndpoint\":\"https://0f82ca5a-999c-4ace-8260-792870874610-isv.ccy.hub.privatelink.prod.migration.windowsazure.com/resources/0f82ca5a-999c-4ace-8260-792870874610\",\"summary\":{\"servers\":{\"instanceType\":\"Servers\",\"discoveredCount\":144,\"assessedCount\":0,\"replicatingCount\":7,\"testMigratedCount\":0,\"migratedCount\":0,\"refreshSummaryState\":\"Completed\",\"lastSummaryRefreshedTime\":\"2022-09-26T11:15:55.0545447Z\",\"extendedSummary\":{\"microsoftDiscoveredCount\":\"144\",\"microsoftMachinesCount\":\"144\"}},\"databases\":{\"instanceType\":\"Databases\",\"refreshSummaryState\":\"Completed\",\"lastSummaryRefreshedTime\":\"2022-07-24T17:46:46.451848Z\",\"extendedSummary\":{}},\"webApplications\":{\"instanceType\":\"WebApplications\",\"refreshSummaryState\":\"Completed\",\"lastSummaryRefreshedTime\":\"2022-09-26T11:18:55.4121801Z\",\"extendedSummary\":{}},\"desktopVirtualization\":{\"instanceType\":\"DesktopVirtualization\",\"refreshSummaryState\":\"Completed\",\"lastSummaryRefreshedTime\":\"2022-07-24T17:46:46.451848Z\",\"extendedSummary\":{}}},\"lastSummaryRefreshedTime\":\"2022-09-26T11:15:55.0545447Z\",\"refreshSummaryState\":\"Completed\",\"provisioningState\":\"Succeeded\"}}"
"Content": "{\"id\":\"/subscriptions/6b72781d-4550-419b-a56e-44055341a88e/resourceGroups/cbtgqlsrcrg/providers/Microsoft.Migrate/migrateProjects/cbtecygqlproj\",\"name\":\"cbtecygqlproj\",\"type\":\"Microsoft.Migrate/migrateProjects\",\"etag\":\"\\\"f4026eef-0000-0200-0000-691bb78a0000\\\"\",\"location\":\"eastus2euap\",\"tags\":{\"Migrate Project\":\"cbtecygqlproj\"},\"properties\":{\"registeredTools\":[\"ServerDiscovery\",\"ServerAssessment\",\"ServerMigration\"],\"serviceEndpoint\":\"https://cb121902-1f18-48bc-a0a9-5fff0e00d1fa-isv.ecy.hub.privatelink.prod.migration.windowsazure.com/resources/cb121902-1f18-48bc-a0a9-5fff0e00d1fa\",\"summary\":{\"servers\":{\"instanceType\":\"Servers\",\"discoveredCount\":78,\"assessedCount\":38,\"replicatingCount\":2,\"testMigratedCount\":1,\"migratedCount\":0,\"refreshSummaryState\":\"Completed\",\"lastSummaryRefreshedTime\":\"2025-06-18T08:25:38.839053Z\",\"extendedSummary\":{\"microsoftDiscoveredCount\":\"78\",\"microsoftMachinesCount\":\"78\"}},\"databases\":{\"instanceType\":\"Databases\",\"refreshSummaryState\":\"Completed\",\"lastSummaryRefreshedTime\":\"2025-01-09T08:29:25.9758205Z\",\"extendedSummary\":{}},\"webApplications\":{\"instanceType\":\"WebApplications\",\"refreshSummaryState\":\"Completed\",\"lastSummaryRefreshedTime\":\"2025-11-18T07:27:38.1908008Z\",\"extendedSummary\":{}},\"desktopVirtualization\":{\"instanceType\":\"DesktopVirtualization\",\"refreshSummaryState\":\"Completed\",\"lastSummaryRefreshedTime\":\"2025-01-09T08:29:25.9758205Z\",\"extendedSummary\":{}}},\"lastSummaryRefreshedTime\":\"2025-06-18T08:25:38.839053Z\",\"refreshSummaryState\":\"Completed\",\"provisioningState\":\"Succeeded\"}}",
"isContentBase64": false
}
}
}
Loading
Loading