Я использую .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, чтобы не создавать новый сетевой адаптер?
Мне кажется, что вам нужно заглянуть в документацию .. например, быстро появился google, вы, вероятно, захотите посмотреть на свойство 'config'' vmCloneSpec ': https: //www.vmware. com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/vim.vm.ConfigSpec.html – TheLethalCoder
делает то же самое, когда вы выполняете эту задачу вручную? –
Из API вы также можете взять моментальные снимки VM, содержащие настройки конфигурации, чтобы вы могли посмотреть, что – TheLethalCoder