public VStorageObject CloneVStorageObject(ID id, ManagedObjectReference datastore, VslmCloneSpec spec) { VStorageObject result; try { VersionUtils.RequiresVersion(this.Client, VimVersion.Vim65); ManagedObjectReference taskReference = this.CloneVStorageObject_Task(id, datastore, spec); result = (VStorageObject)this.Client.WaitForTask(taskReference); } catch (FaultException ex) { throw FaultUtility.HandleFault(ex); } return(result); }
public ManagedObjectReference CloneVStorageObject_Task(ID id, ManagedObjectReference datastore, VslmCloneSpec spec) { ManagedObjectReference result; try { VersionUtils.RequiresVersion(this.Client, VimVersion.Vim65); CloneVStorageObjectRequestType cloneVStorageObjectRequestType = new CloneVStorageObjectRequestType(); cloneVStorageObjectRequestType._this = (VimApi_65.ManagedObjectReference)VIConvert.ToWsdlType(this.MoRef); cloneVStorageObjectRequestType.id = (VimApi_65.ID)VIConvert.ToWsdlType(id); cloneVStorageObjectRequestType.datastore = (VimApi_65.ManagedObjectReference)VIConvert.ToWsdlType(datastore); cloneVStorageObjectRequestType.spec = (VimApi_65.VslmCloneSpec)VIConvert.ToWsdlType(spec); result = (ManagedObjectReference)VIConvert.ToVim(this.VimServiceProxy.CloneVStorageObject_Task(new CloneVStorageObject_TaskRequest(cloneVStorageObjectRequestType)).CloneVStorageObject_TaskResponse.returnval); } catch (FaultException ex) { throw FaultUtility.HandleFault(ex); } return(result); }