en-US/Start-RMAzureVMBasedMigration-help.xml

<?xml version="1.0" encoding="utf-8"?>
<helpItems schema="maml" xmlns="http://msh">
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
        <command:details>
            <command:name>Start-RMAzureVMBasedMigration</command:name>
            <command:verb>Start</command:verb>
            <command:noun>RMAzureVMBasedMigration</command:noun>
            <maml:description>
                <maml:para>Starts a full migration of a OS based source.</maml:para>
            </maml:description>
        </command:details>
        <maml:description>
            <maml:para>Starts a full migration of a given OS based source and the parameters of the cmdlet allows the user to provide various configuration options for the target VM.</maml:para>
        </maml:description>
        <command:syntax>
            <command:syntaxItem>
                <maml:name>Start-RMAzureVMBasedMigration</maml:name>

                <command:parameter required="True" pipelineInput="False" position="Named" aliases="svmn">
                    <maml:name>SourceVMName</maml:name>
                    <maml:description>
                        <maml:para>Specifies the VM name of the source machine to be migrated.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="svmfp">
                    <maml:name>SourceVMFolderPath</maml:name>
                    <maml:description>
                        <maml:para>Specifies the VM folder name of the source machine to be migrated.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="True" pipelineInput="False" position="Named" aliases="tc">
                    <maml:name>TargetCloud</maml:name>
                    <maml:description>
                        <maml:para>Specifies the name of the migration appliance to be used.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="sat">
                    <maml:name>ScheduledAt</maml:name>
                    <maml:description>
                        <maml:para>Specifies a date and time to start the migration automatically. Format: MM/dd/yyyy HH:mm.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="tvmn">
                    <maml:name>TargetVMName</maml:name>
                    <maml:description>
                        <maml:para>Specifies the VM name of the target machine.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>SourceVMName</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="crg">
                    <maml:name>CreateResourceGroup</maml:name>
                    <maml:description>
                        <maml:para>Indicates whether to create a new resource group.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="rg">
                    <maml:name>ResourceGroup</maml:name>
                    <maml:description>
                        <maml:para>Specifies the name of the resource group the target machine will belong to.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="rgr">
                    <maml:name>ResourceGroupRegion</maml:name>
                    <maml:description>
                        <maml:para>Specifies the region name for the resource group.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>
    
                <command:parameter required="True" pipelineInput="False" position="Named" aliases="vmsn">
                    <maml:name>VMSizeName</maml:name>
                    <maml:description>
                        <maml:para>Specifies the name of the VM size to be used for the target machine.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="True" pipelineInput="False" position="Named" aliases="vt">
                    <maml:name>VolumeType</maml:name>
                    <maml:description>
                        <maml:para>Specifies the volume type (Standard_SSD, Standard_HDD, Premium_SSD) for each disk on the target machine.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String[]</command:parameterValue>
                    <dev:type>
                        <maml:name>String[]</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="sdl">
                    <maml:name>SelectedDiskLabel</maml:name>
                    <maml:description>
                        <maml:para>Specifies the labels of the disks that you want to migrate.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String[]</command:parameterValue>
                    <dev:type>
                        <maml:name>String[]</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>Labels of all the source disks.</dev:defaultValue>
                </command:parameter>

                <command:parameter required="True" pipelineInput="False" position="Named" aliases="vn">
                    <maml:name>VirtualNetwork</maml:name>
                    <maml:description>
                        <maml:para>Specifies the virtual network of the target machine.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="True" pipelineInput="False" position="Named" aliases="dnn">
                    <maml:name>DestinationNetworkName</maml:name>
                    <maml:description>
                        <maml:para>Specifies the destination network name of the target machine.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>
                
                <command:parameter required="False" pipelineInput="False" position="Named" aliases="apip">
                    <maml:name>AssignPublicIP</maml:name>
                    <maml:description>
                        <maml:para>Indicates whether to assign a public IP. Defaults to 'False'.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="spip">
                    <maml:name>StaticPrivateIP</maml:name>
                    <maml:description>
                        <maml:para>Specifies a static private IP address.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="etni">
                    <maml:name>EnforceTargetNetworkIsolation</maml:name>
                    <maml:description>
                        <maml:para>The default Security Group will prevent Source and Target conflicts. To override this default behavior, set 'EnforceTargetNetworkIsolation' to False and provide the preferred Security Group using the 'SecurityGroup' parameter.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="sg">
                    <maml:name>SecurityGroup</maml:name>
                    <maml:description>
                        <maml:para>Specifies the security group to use when 'EnforceTargetNetworkIsolation' flag is false.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="it">
                    <maml:name>InstanceTag</maml:name>
                    <maml:description>
                        <maml:para>Specifies the instance tags for the migration in the format 'key=value'.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String[]</command:parameterValue>
                    <dev:type>
                        <maml:name>String[]</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="ao">
                    <maml:name>AvailabilityOption</maml:name>
                    <maml:description>
                        <maml:para>Specifies the availability option (None, AvailabilityZone, AvailabilitySet) for the target machine.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="az">
                    <maml:name>AvailabilityZone</maml:name>
                    <maml:description>
                        <maml:para>Specifies an integer value for an availability zone (1, 2, 3).</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">int</command:parameterValue>
                    <dev:type>
                        <maml:name>int</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>0</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="cas">
                    <maml:name>CreateAvailabilitySet</maml:name>
                    <maml:description>
                        <maml:para>Indicates whether to create an availability set. Defaults to 'False'.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="as">
                    <maml:name>AvailabilitySet</maml:name>
                    <maml:description>
                        <maml:para>Specifies an availability set for the target machine.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="fd">
                    <maml:name>FaultDomain</maml:name>
                    <maml:description>
                        <maml:para>Specifies the fault domain (1-3), when 'CreateAvailabilitySet' is true.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">int</command:parameterValue>
                    <dev:type>
                        <maml:name>int</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>0</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="ud">
                    <maml:name>UpdateDomain</maml:name>
                    <maml:description>
                        <maml:para>Specifies the update domain (1-20), when 'CreateAvailabilitySet' is true.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">int</command:parameterValue>
                    <dev:type>
                        <maml:name>int</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>0</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="ebd">
                    <maml:name>EnableBootDiagnostics</maml:name>
                    <maml:description>
                        <maml:para>Indicates whether to enable boot diagnostics, 'StorageAccount' must be provided to enable this option. Defaults to 'False'.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="sa">
                    <maml:name>StorageAccount</maml:name>
                    <maml:description>
                        <maml:para>Specifies the storage account to be used in order to enable boot diagnostics.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="det">
                    <maml:name>DiskEncryptionType</maml:name>
                    <maml:description>
                        <maml:para>The encryption key type that will be used to encrypt the disk. E.g., "platform-managed-key" or "customer-managed-key".</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="es">
                    <maml:name>EncryptionSet</maml:name>
                    <maml:description>
                        <maml:para>Specifies an encryption set for the target machine.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="ehub">
                    <maml:name>EnableHybridUseBenefit</maml:name>
                    <maml:description>
                        <maml:para>If you own a Windows license with active Software Assurance (SA) or have an active Windows Server subscription, use Azure Hybrid Benefit to save compute cost.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="ss">
                    <maml:name>ShutdownSource</maml:name>
                    <maml:description>
                        <maml:para>Automatically shutdown source after data is fully migrated. This option has the following consequences. No ability to perform differential migration (sync or changes) after shutdown, data that changed during migration (and is not part of the snapshot) will not get migrated and source is shut down before target is inspected.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="st">
                    <maml:name>ShutdownTarget</maml:name>
                    <maml:description>
                        <maml:para>Automatically shutdown target after data is fully migrated.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="fm">
                    <maml:name>FinalizeMigration</maml:name>
                    <maml:description>
                        <maml:para>Indicates whether the snapshot(s) should be removed from the Target VM in preparation
for a cutover, no differential migration can be run if this is set to true</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="mi">
                    <maml:name>MigrationInstruction</maml:name>
                    <maml:description>
                        <maml:para>Specifies special instructions for running a migration in the format 'key=value'.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String[]</command:parameterValue>
                    <dev:type>
                        <maml:name>String[]</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="ive">
                    <maml:name>IgnoreValidationError</maml:name>
                    <maml:description>
                        <maml:para>Set this parameter to 'true' when you want to override an existing running migration for the given source machine.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="oem">
                    <maml:name>OverrideExistingMigration</maml:name>
                    <maml:description>
                        <maml:para>Set this parameter to 'true' when you want to override an existing running migration for the given source machine.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>

        <command:parameters>
            <command:parameter required="True" pipelineInput="False" position="Named" aliases="svmn">
                    <maml:name>SourceVMName</maml:name>
                    <maml:description>
                        <maml:para>Specifies the VM name of the source machine to be migrated.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="svmfp">
                    <maml:name>SourceVMFolderPath</maml:name>
                    <maml:description>
                        <maml:para>Specifies the VM folder name of the source machine to be migrated.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="True" pipelineInput="False" position="Named" aliases="tc">
                    <maml:name>TargetCloud</maml:name>
                    <maml:description>
                        <maml:para>Specifies the name of the migration appliance to be used.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="sat">
                    <maml:name>ScheduledAt</maml:name>
                    <maml:description>
                        <maml:para>Specifies a date and time to start the migration automatically. Format: MM/dd/yyyy HH:mm.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="tvmn">
                    <maml:name>TargetVMName</maml:name>
                    <maml:description>
                        <maml:para>Specifies the VM name of the target machine.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>SourceVMName</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="crg">
                    <maml:name>CreateResourceGroup</maml:name>
                    <maml:description>
                        <maml:para>Indicates whether to create a new resource group.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="rg">
                    <maml:name>ResourceGroup</maml:name>
                    <maml:description>
                        <maml:para>Specifies the name of the resource group the target machine will belong to.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="rgr">
                    <maml:name>ResourceGroupRegion</maml:name>
                    <maml:description>
                        <maml:para>Specifies the region name for the resource group.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>
    
                <command:parameter required="True" pipelineInput="False" position="Named" aliases="vmsn">
                    <maml:name>VMSizeName</maml:name>
                    <maml:description>
                        <maml:para>Specifies the name of the VM size to be used for the target machine.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="True" pipelineInput="False" position="Named" aliases="vt">
                    <maml:name>VolumeType</maml:name>
                    <maml:description>
                        <maml:para>Specifies the volume type (Standard_SSD, Standard_HDD, Premium_SSD) for each disk on the target machine.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String[]</command:parameterValue>
                    <dev:type>
                        <maml:name>String[]</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="sdl">
                    <maml:name>SelectedDiskLabel</maml:name>
                    <maml:description>
                        <maml:para>Specifies the labels of the disks that you want to migrate.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String[]</command:parameterValue>
                    <dev:type>
                        <maml:name>String[]</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>Labels of all the source disks.</dev:defaultValue>
                </command:parameter>

                <command:parameter required="True" pipelineInput="False" position="Named" aliases="vn">
                    <maml:name>VirtualNetwork</maml:name>
                    <maml:description>
                        <maml:para>Specifies the virtual network of the target machine.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="True" pipelineInput="False" position="Named" aliases="dnn">
                    <maml:name>DestinationNetworkName</maml:name>
                    <maml:description>
                        <maml:para>Specifies the destination network name of the target machine.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>
                
                <command:parameter required="False" pipelineInput="False" position="Named" aliases="apip">
                    <maml:name>AssignPublicIP</maml:name>
                    <maml:description>
                        <maml:para>Indicates whether to assign a public IP. Defaults to 'False'.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="spip">
                    <maml:name>StaticPrivateIP</maml:name>
                    <maml:description>
                        <maml:para>Specifies a static private IP address.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="etni">
                    <maml:name>EnforceTargetNetworkIsolation</maml:name>
                    <maml:description>
                        <maml:para>The default Security Group will prevent Source and Target conflicts. To override this default behavior, set 'EnforceTargetNetworkIsolation' to False and provide the preferred Security Group using the 'SecurityGroup' parameter.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="sg">
                    <maml:name>SecurityGroup</maml:name>
                    <maml:description>
                        <maml:para>Specifies the security group to use when 'EnforceTargetNetworkIsolation' flag is false.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="it">
                    <maml:name>InstanceTag</maml:name>
                    <maml:description>
                        <maml:para>Specifies the instance tags for the migration in the format 'key=value'.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String[]</command:parameterValue>
                    <dev:type>
                        <maml:name>String[]</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="ao">
                    <maml:name>AvailabilityOption</maml:name>
                    <maml:description>
                        <maml:para>Specifies the availability option (None, AvailabilityZone, AvailabilitySet) for the target machine.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="az">
                    <maml:name>AvailabilityZone</maml:name>
                    <maml:description>
                        <maml:para>Specifies an integer value for an availability zone (1, 2, 3).</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">int</command:parameterValue>
                    <dev:type>
                        <maml:name>int</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>0</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="cas">
                    <maml:name>CreateAvailabilitySet</maml:name>
                    <maml:description>
                        <maml:para>Indicates whether to create an availability set. Defaults to 'False'.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="as">
                    <maml:name>AvailabilitySet</maml:name>
                    <maml:description>
                        <maml:para>Specifies an availability set for the target machine.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="fd">
                    <maml:name>FaultDomain</maml:name>
                    <maml:description>
                        <maml:para>Specifies the fault domain (1-3), when 'CreateAvailabilitySet' is true.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">int</command:parameterValue>
                    <dev:type>
                        <maml:name>int</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>0</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="ud">
                    <maml:name>UpdateDomain</maml:name>
                    <maml:description>
                        <maml:para>Specifies the update domain (1-20), when 'CreateAvailabilitySet' is true.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">int</command:parameterValue>
                    <dev:type>
                        <maml:name>int</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>0</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="ebd">
                    <maml:name>EnableBootDiagnostics</maml:name>
                    <maml:description>
                        <maml:para>Indicates whether to enable boot diagnostics, 'StorageAccount' must be provided to enable this option. Defaults to 'False'.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="sa">
                    <maml:name>StorageAccount</maml:name>
                    <maml:description>
                        <maml:para>Specifies the storage account to be used in order to enable boot diagnostics.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="det">
                    <maml:name>DiskEncryptionType</maml:name>
                    <maml:description>
                        <maml:para>The encryption key type that will be used to encrypt the disk. E.g., "platform-managed-key" or "customer-managed-key".</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="es">
                    <maml:name>EncryptionSet</maml:name>
                    <maml:description>
                        <maml:para>Specifies an encryption set for the target machine.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String</command:parameterValue>
                    <dev:type>
                        <maml:name>String</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="ehub">
                    <maml:name>EnableHybridUseBenefit</maml:name>
                    <maml:description>
                        <maml:para>If you own a Windows license with active Software Assurance (SA) or have an active Windows Server subscription, use Azure Hybrid Benefit to save compute cost.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="ss">
                    <maml:name>ShutdownSource</maml:name>
                    <maml:description>
                        <maml:para>Automatically shutdown source after data is fully migrated. This option has the following consequences. No ability to perform differential migration (sync or changes) after shutdown, data that changed during migration (and is not part of the snapshot) will not get migrated and source is shut down before target is inspected.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="st">
                    <maml:name>ShutdownTarget</maml:name>
                    <maml:description>
                        <maml:para>Automatically shutdown target after data is fully migrated.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="fm">
                    <maml:name>FinalizeMigration</maml:name>
                    <maml:description>
                        <maml:para>Indicates whether the snapshot(s) should be removed from the Target VM in preparation
for a cutover, no differential migration can be run if this is set to true</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="mi">
                    <maml:name>MigrationInstruction</maml:name>
                    <maml:description>
                        <maml:para>Specifies special instructions for running a migration in the format 'key=value'.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">String[]</command:parameterValue>
                    <dev:type>
                        <maml:name>String[]</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>None</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="ive">
                    <maml:name>IgnoreValidationError</maml:name>
                    <maml:description>
                        <maml:para>Set this parameter to 'true' when you want to override an existing running migration for the given source machine.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>

                <command:parameter required="False" pipelineInput="False" position="Named" aliases="oem">
                    <maml:name>OverrideExistingMigration</maml:name>
                    <maml:description>
                        <maml:para>Set this parameter to 'true' when you want to override an existing running migration for the given source machine.</maml:para>
                    </maml:description>
                    <command:parameterValue required="True">Bool</command:parameterValue>
                    <dev:type>
                        <maml:name>Bool</maml:name>
                        <maml:uri />
                    </dev:type>
                    <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>
        </command:parameters>

        <command:inputTypes>
            <command:inputType>
                <maml:description>
                    <maml:para>This cmdlet goes into the interactive mode when no parameters are given.</maml:para>
                    <maml:para>When at least one parameter is specified, the cmdlet runs in the non-interactive mode and validates that all<linebreak/>
the required parameters are given.</maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <command:returnValue>
                <dev:type>
                    <maml:name>RMMigrationReturn Object</maml:name>
                </dev:type>
                <maml:description>
                    <maml:para>This cmdlet returns a RMMigrationReturn object, which has the following attributes:</maml:para>
                    <maml:para>
RMMigrationReturn
    [String] MigrationId
    RMPreflightCheck[]
        [String] Name
        [String] DisplayName
        [String] Description
        [String] Status
        RMError
        RMWarning
    [int] ReturnCode
    RMError
        [String] ErrorCode
        [String] Message
        [String] Resolution
    RMWarning
        [String] ErrorCode
        [String] Message
        [String] Resolution
    [Hashtable] OutputData
                    </maml:para>
                    <maml:para>
RMMigrationReturn.ReturnCode = 0, indicates migration started successfully.
RMMigrationReturn.ReturnCode = 1, indicates that there was an error in starting the migration.
RMMigrationReturn.OutputData, contains any additional data that the cmdlet can return.
                    </maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
        </maml:alertSet>
        <command:examples>
            <command:example>
                <maml:title>----------Example 1: Full migration started successfully and using parameter aliases----------</maml:title>
                <dev:code>PS C:\&gt; Start-RMAzureVMBasedMigration -svmn QE-RHEL80 -tc Demo_azure_vm_ca -rg engdev -vt Standard_SSD, Standard_SSD -VMSizeName Basic_A2 -tvmn Demo-Target-VM
Starting target cloud attribute collection...
Waiting for cloud attribute collection to complete...
Starting source preflight...
Waiting for source preflight to complete...
WARNING: No disk labels have been given, all the disks on the source will be migrated.
Starting migration preflight...
Waiting for migration preflight to complete...
Migration started successfully, migration ID : d2d9960f-5fc9-4a3b-9415-33d62d9809e8

MigrationId : d2d9960f-5fc9-4a3b-9415-33d62d9809e8
RMPreflightCheck : {Conflicting Migration Attempts, source_disks_present_check, source_nics_present_check, source_supported_check…}
ReturnCode : 0
RMError :
RMWarning : {RMWarning}
OutputData :
                </dev:code>
            </command:example>

            <command:example>
                <maml:title>----------Example 2: Full migration scheduled successfully and using parameter aliases-----------</maml:title>
                <dev:code>PS C:\&gt; Start-RMAzureVMBasedMigration -svmn QE-RHEL80 -sat "05/15/2023 20:30" -tc Demo_azure_vm_ca -rg engdev -vt Standard_SSD, Standard_SSD -VMSizeName Basic_A2 -tvmn Demo-Target-VM
Starting target cloud attribute collection...
Waiting for cloud attribute collection to complete...
Starting source preflight...
Waiting for source preflight to complete...
WARNING: No disk labels have been given, all the disks on the source will be migrated.
Starting migration preflight...
Waiting for migration preflight to complete...
Migration scheduled successfully

MigrationId :
RMPreflightCheck : {Conflicting Migration Attempts, source_disks_present_check, source_nics_present_check, source_supported_check…}
ReturnCode : 0
RMError :
RMWarning :
OutputData :
                </dev:code>
            </command:example>

            <command:example>
                <maml:title>----------Example 3: Failed to start migration because of preflight error----------</maml:title>
                <dev:code>PS C:\&gt; Start-RMAzureVMBasedMigration -svmn QE-RHEL80 -tc Demo_azure_vm_ca -rg engdev -vt Standard_SSD, Standard_SSD -VMSizeName Basic_A2 -tvmn Demo-Target-VM
Starting target cloud attribute collection...
Waiting for cloud attribute collection to complete...
Starting source preflight...
Waiting for source preflight to complete...

Preflight Check Warning(s)
--------------- ----------
Conflicting Migration Attempts A previous migration attempt was detected on the Source machine. A new migration will
                               be started.

Starting migration preflight...
Waiting for migration preflight to complete...

Preflight Check Error(s)
--------------- --------
Migration readiness validation A VM named 'Demo-Target-VM' already exists in the selected destination folder.

Migration started successfully, migration ID : 0e401d37-0c6e-4aa5-b 3c-dd636fcbb8ba
MigrationId : 0e401d37-0c6e-4aa5-bb3c-dd636fcbb8ba
RMPreflightCheck : {Conflicting Migration Attempts, source_disks_present_check, source_nics_present_check, source_supported_check…}
ReturnCode : 1
RMError : {RMError}
RMWarning : {RMWarning}
OutputData :
                </dev:code>
            </command:example>
        </command:examples>
        <maml:relatedLinks>
            <!--Add links to related content here-->
        </maml:relatedLinks>
    </command:command>
</helpItems>