/// <summary> /// Process /// </summary> protected override void ProcessRecord() { var restoreRequest = new Models.RecoverTaskRequest(name: TaskName) { Type = Models.RecoverTaskRequest.TypeEnum.KRecoverVMs, ContinueOnError = true }; var acropolisParams = new Models.AcropolisRestoreParameters(); if (PoweredOn.IsPresent) { acropolisParams.PoweredOn = PoweredOn; } if (DisableNetwork.IsPresent) { acropolisParams.DisableNetwork = true; } if (VmNamePrefix != null) { acropolisParams.Prefix = VmNamePrefix; } if (VmNameSuffix != null) { acropolisParams.Suffix = VmNameSuffix; } restoreRequest.AcropolisParameters = acropolisParams; var restoreObject = new Models.RestoreObject { JobId = JobId, ProtectionSourceId = SourceId }; if (JobRunId.HasValue) { restoreObject.JobRunId = JobRunId; } if (StartTime.HasValue) { restoreObject.StartedTimeUsecs = StartTime; } var objects = new List <Models.RestoreObject>(); objects.Add(restoreObject); restoreRequest.Objects = objects; // POST /public/restore/recover var preparedUrl = $"/public/restore/recover"; var result = Session.ApiClient.Post <Models.RestoreTask>(preparedUrl, restoreRequest); WriteObject(result); }
/// <summary> /// Process /// </summary> protected override void ProcessRecord() { var restoreRequest = new Models.RecoverTaskRequest(name: TaskName) { Type = Models.RecoverTaskRequest.TypeEnum.KMountVolumes, ContinueOnError = true }; var mountParams = new Models.MountVolumesParameters(); if (BringDisksOnline.IsPresent) { mountParams.BringDisksOnline = BringDisksOnline; } if (VolumeNames != null) { mountParams.VolumeNames = new List <string>(VolumeNames); } mountParams.TargetSourceId = TargetHostId.HasValue ? TargetHostId : SourceId; if (TargetHostCredential != null) { mountParams.Username = TargetHostCredential.UserName; mountParams.Password = TargetHostCredential.GetNetworkCredential().Password; } restoreRequest.MountParameters = mountParams; var restoreObject = new Models.RestoreObject { JobId = JobId, ProtectionSourceId = SourceId }; if (JobRunId.HasValue) { restoreObject.JobRunId = JobRunId; } if (NewParentId.HasValue) { restoreRequest.NewParentId = NewParentId; } if (StartTime.HasValue) { restoreObject.StartedTimeUsecs = StartTime; } var objects = new List <Models.RestoreObject>(); objects.Add(restoreObject); restoreRequest.Objects = objects; // POST /public/restore/recover var preparedUrl = $"/public/restore/recover"; var result = Session.ApiClient.Post <Models.RestoreTask>(preparedUrl, restoreRequest); WriteObject(result); }