コード例 #1
0
ファイル: VirtualMachine.cs プロジェクト: jasond2014/migAz
        public VirtualMachine(AzureContext azureContext, Arm.VirtualMachine virtualMachine, List <VirtualNetwork> targetVirtualNetworks, List <StorageAccount> targetStorageAccounts, List <NetworkSecurityGroup> networkSecurityGroups)
        {
            this._AzureContext       = azureContext;
            this.Source              = virtualMachine;
            this.TargetName          = virtualMachine.Name;
            this._TargetSize         = virtualMachine.VmSize;
            this.OSVirtualHardDiskOS = virtualMachine.OSVirtualHardDiskOS;

            this.OSVirtualHardDisk = new Disk(virtualMachine.OSVirtualHardDisk);

            if (virtualMachine.OSVirtualHardDisk.GetType() == typeof(Arm.Disk))
            {
                Arm.Disk armDisk = (Arm.Disk)virtualMachine.OSVirtualHardDisk;
                this.OSVirtualHardDisk.TargetStorageAccount = SeekTargetStorageAccount(targetStorageAccounts, armDisk.StorageAccountName);
            }

            foreach (IArmDisk dataDisk in virtualMachine.DataDisks)
            {
                Disk targetDataDisk = new Disk(dataDisk);
                this.DataDisks.Add(targetDataDisk);

                if (dataDisk.GetType() == typeof(Arm.Disk))
                {
                    Arm.Disk armDisk = (Arm.Disk)dataDisk;
                    targetDataDisk.TargetStorageAccount = SeekTargetStorageAccount(targetStorageAccounts, armDisk.StorageAccountName);
                }
            }

            foreach (Arm.NetworkInterface armNetworkInterface in virtualMachine.NetworkInterfaces)
            {
                Azure.MigrationTarget.NetworkInterface migrationNetworkInterface = new Azure.MigrationTarget.NetworkInterface(_AzureContext, armNetworkInterface, targetVirtualNetworks, networkSecurityGroups);
                this.NetworkInterfaces.Add(migrationNetworkInterface);
            }
        }
コード例 #2
0
        public VirtualMachine(AzureContext azureContext, Arm.VirtualMachine virtualMachine, List <VirtualNetwork> targetVirtualNetworks, List <StorageAccount> targetStorageAccounts, List <NetworkSecurityGroup> networkSecurityGroups)
        {
            this._AzureContext       = azureContext;
            this.Source              = virtualMachine;
            this.TargetName          = virtualMachine.Name;
            this.TargetSize          = virtualMachine.VmSize;
            this.OSVirtualHardDiskOS = virtualMachine.OSVirtualHardDiskOS;

            this.OSVirtualHardDisk = new Disk(virtualMachine.OSVirtualHardDisk);

            if (virtualMachine.OSVirtualHardDisk.GetType() == typeof(Arm.Disk))
            {
                Arm.Disk armDisk = (Arm.Disk)virtualMachine.OSVirtualHardDisk;
                this.OSVirtualHardDisk.TargetStorageAccount = SeekTargetStorageAccount(targetStorageAccounts, armDisk.StorageAccountName);
            }

            foreach (IArmDisk dataDisk in virtualMachine.DataDisks)
            {
                Disk targetDataDisk = new Disk(dataDisk);
                this.DataDisks.Add(targetDataDisk);

                if (dataDisk.GetType() == typeof(Arm.Disk))
                {
                    Arm.Disk armDisk = (Arm.Disk)dataDisk;
                    targetDataDisk.TargetStorageAccount = SeekTargetStorageAccount(targetStorageAccounts, armDisk.StorageAccountName);
                }
            }

            foreach (Arm.NetworkInterface armNetworkInterface in virtualMachine.NetworkInterfaces)
            {
                Azure.MigrationTarget.NetworkInterface migrationNetworkInterface = new Azure.MigrationTarget.NetworkInterface(_AzureContext, armNetworkInterface, targetVirtualNetworks, networkSecurityGroups);
                this.NetworkInterfaces.Add(migrationNetworkInterface);
            }

            if (virtualMachine.HasPlan)
            {
                _PlanAttributes = new Dictionary <string, string>();

                foreach (JProperty planAttribute in virtualMachine.ResourceToken["plan"])
                {
                    _PlanAttributes.Add(planAttribute.Name, planAttribute.Value.ToString());
                }
            }
        }