2015-12-04 3 views
0

Я использую .NET VMware сборка под названием VMware.Vim.dll для управления моим vms. Проблема, с которой я столкнулась, заключается в следующем: когда я клонирую свой существующий vm, у которого нет сетевого адаптера, в результате vm имеет новый сетевой адаптер.Клонирование VM без сетевого адаптера

Вот код, я использую:

var machineName = "testVmName"; 
var vmNameFilter = new NameValueCollection(); 
filter.Add("Name", machineName); 

var vm = (VirtualMachine)this._vimClient.FindEntityView(typeof(VirtualMachine), null, vmNameFilter, null); 

var dcNameFilter = new NameValueCollection(); 
dcNameFilter.Add("Name", _dataCenterName); 

var dataCenter = (Datacenter)this._vimClient.FindEntityView(typeof(Datacenter), null, dcNameFilter, null); 

var vmCloneSpec = new VirtualMachineCloneSpec 
{ 
    Location = new VirtualMachineRelocateSpec 
    { 
    }, 
    PowerOn = false, 
    Template = false 
}; 

vm.CloneVM(dataCenter.VmFolder, newVmName, vmCloneSpec) 

Как я могу заставить API, чтобы не создавать новый сетевой адаптер?

+0

Мне кажется, что вам нужно заглянуть в документацию .. например, быстро появился google, вы, вероятно, захотите посмотреть на свойство 'config'' vmCloneSpec ': https: //www.vmware. com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/vim.vm.ConfigSpec.html – TheLethalCoder

+0

делает то же самое, когда вы выполняете эту задачу вручную? –

+0

Из API вы также можете взять моментальные снимки VM, содержащие настройки конфигурации, чтобы вы могли посмотреть, что – TheLethalCoder

ответ

0

Отказ от ответственности: Я не эксперт по этой теме, но мне кажется, что это то, что вы хотите сделать.

От взгляда на документацию для VirtualMachineCloneSpec кажется, что есть свойство под названием config. Это свойство затем имеет один под названием netowrkShaper, который, в свою очередь, имеет один номер enabled. Я думаю, чтобы попытаться сделать что-то вроде следующего:

vmCloneSpec.config.netowrkShaper.enabled = false; 

или более чем вероятно, видя, как они пользовательские объекты:

vmCloneSpec.config = new VirtualMachineConfigSpec() 
{ 
    networkShaper = new VirtualMachineNetworkShaperInfo() 
    { 
     enabled = false; 
    } 
} 

Насколько я могу судить из документации это может быть то, что вы «Ищем.

+0

К сожалению, это не решит проблему :(Результат остается тем же. – Sini4ka

+0

@ Sini4ka Okay , вы посмотрели на съемку снимков? – TheLethalCoder

+0

нет, у меня нет. Что вы имеете в виду? Возьмите снимок, а затем клонируйте его? – Sini4ka

Смежные вопросы