/// <summary> /// Process /// </summary> protected override void ProcessRecord() { var view = RestApiCommon.GetViewByName(Session.ApiClient, SourceViewName); var cloneRequest = new Model.CloneTaskRequest(name: TaskName) { Type = Model.CloneTaskRequest.TypeEnum.KCloneView, ContinueOnError = true, }; var cloneViewParams = new Model.CloneViewRequest { SourceViewName = SourceViewName, CloneViewName = TargetViewName, Description = TargetViewDescription, Qos = new Model.QoS { PrincipalName = QoSPolicy } }; cloneRequest.CloneViewParameters = cloneViewParams; var cloneObject = new Model.RestoreObjectDetails { JobId = JobId, ProtectionSourceId = view.ViewProtection.MagnetoEntityId }; if (JobRunId.HasValue) { cloneObject.JobRunId = JobRunId; } if (StartTime.HasValue) { cloneObject.StartedTimeUsecs = StartTime; } var objects = new List <Model.RestoreObjectDetails>(); objects.Add(cloneObject); cloneRequest.Objects = objects; // POST /public/restore/clone var preparedUrl = $"/public/restore/clone"; var result = Session.ApiClient.Post <Model.RestoreTask>(preparedUrl, cloneRequest); WriteObject(result); }
/// <summary> /// Process /// </summary> protected override void ProcessRecord() { var cloneRequest = new Model.CloneTaskRequest(name: TaskName) { Type = Model.CloneTaskRequest.TypeEnum.KCloneVMs, ContinueOnError = true, TargetViewName = TargetViewName }; var vmwareParams = new Model.VmwareCloneParameters(); if (PoweredOn.IsPresent) { vmwareParams.PoweredOn = PoweredOn; } if (DisableNetwork.IsPresent) { vmwareParams.DisableNetwork = true; } if (VmNamePrefix != null) { vmwareParams.Prefix = VmNamePrefix; } if (VmNameSuffix != null) { vmwareParams.Suffix = VmNameSuffix; } if (DatastoreFolderId.HasValue) { vmwareParams.DatastoreFolderId = DatastoreFolderId; } if (NetworkId.HasValue) { vmwareParams.NetworkId = NetworkId; } if (ResourcePoolId.HasValue) { vmwareParams.ResourcePoolId = ResourcePoolId; } if (VmFolderId.HasValue) { vmwareParams.VmFolderId = VmFolderId; } cloneRequest.VmwareParameters = vmwareParams; var cloneObject = new Model.RestoreObjectDetails { JobId = JobId, ProtectionSourceId = SourceId }; if (JobRunId.HasValue) { cloneObject.JobRunId = JobRunId; } if (NewParentId.HasValue) { cloneRequest.NewParentId = NewParentId; } if (StartTime.HasValue) { cloneObject.StartedTimeUsecs = StartTime; } var objects = new List <Model.RestoreObjectDetails>(); objects.Add(cloneObject); cloneRequest.Objects = objects; // POST /public/restore/clone var preparedUrl = $"/public/restore/clone"; var result = Session.ApiClient.Post <Model.RestoreTask>(preparedUrl, cloneRequest); WriteObject(result); }