0
既存のHDDをある仮想マシンから他の仮想マシンに追加しようとしています。vSphere、API経由で既存のHDDをVMに追加する(govmomi)
for _, device := range devices {
currentDeviceLabel := device.GetVirtualDevice().DeviceInfo.GetDescription().Label
if strings.Contains(strings.ToLower(currentDeviceLabel), "hard disk"){
disks = append(disks, device)
}
return disks
し、私は他のVMに受け取ったディスクを追加しようとしている:最初に私はこのようなソースVMからディスクを取得するには
: 私はgolangと、このAPIを使用
func addDisk(vm *object.VirtualMachine, disk types.BaseVirtualDevice) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
spec := types.VirtualMachineConfigSpec{
DeviceChange : []types.BaseVirtualDeviceConfigSpec {
&types.VirtualDeviceConfigSpec{
Operation: types.VirtualDeviceConfigSpecOperationAdd,
FileOperation: types.VirtualDeviceConfigSpecFileOperationCreate,
Device: disk,
},
},
}
result, err := vm.Reconfigure(ctx, spec)
if err != nil {
log.Fatal(fmt.Sprintf("err: %s", err.Error()))
}
vSphereからエラーが発生します。
Cannot complete the operation because the file or folder [xxxxx] xxxxx/xxxxx.vmdk already exists
私は間違っていますか?ありがとう!