/// <summary> /// Helper function to convert ps azure vm backup policy job from service response. /// </summary> private static CmdletModel.AzureVmJob GetPSAzureVmJob(JobResource serviceClientJob) { CmdletModel.AzureVmJob response; AzureIaaSVMJob vmJob = serviceClientJob.Properties as AzureIaaSVMJob; if (vmJob.ExtendedInfo != null) { response = new CmdletModel.AzureVmJobDetails(); } else { response = new CmdletModel.AzureVmJob(); } response.JobId = GetLastIdFromFullId(serviceClientJob.Id); response.StartTime = GetJobStartTime(vmJob.StartTime); response.EndTime = vmJob.EndTime; response.Duration = GetJobDuration(vmJob.Duration); response.Status = vmJob.Status; response.VmVersion = vmJob.VirtualMachineVersion; response.WorkloadName = vmJob.EntityFriendlyName; response.ActivityId = vmJob.ActivityId; response.BackupManagementType = CmdletModel.ConversionUtils.GetPsBackupManagementType(vmJob.BackupManagementType); response.Operation = vmJob.Operation; if (vmJob.ErrorDetails != null) { response.ErrorDetails = new List <CmdletModel.AzureJobErrorInfo>(); foreach (var vmError in vmJob.ErrorDetails) { response.ErrorDetails.Add(GetPSAzureVmErrorInfo(vmError)); } } // fill extended info if present if (vmJob.ExtendedInfo != null) { CmdletModel.AzureVmJobDetails detailedResponse = response as CmdletModel.AzureVmJobDetails; detailedResponse.DynamicErrorMessage = vmJob.ExtendedInfo.DynamicErrorMessage; if (vmJob.ExtendedInfo.PropertyBag != null) { detailedResponse.Properties = new Dictionary <string, string>(); foreach (var key in vmJob.ExtendedInfo.PropertyBag.Keys) { detailedResponse.Properties.Add(key, vmJob.ExtendedInfo.PropertyBag[key]); } } if (vmJob.ExtendedInfo.TasksList != null) { detailedResponse.SubTasks = new List <CmdletModel.AzureVmJobSubTask>(); foreach (var vmJobTask in vmJob.ExtendedInfo.TasksList) { detailedResponse.SubTasks.Add(new CmdletModel.AzureVmJobSubTask() { Name = vmJobTask.TaskId, Status = vmJobTask.Status }); } } } return(response); }
/// <summary> /// Helper function to convert ps azure vm backup policy job from service response. /// </summary> private static CmdletModel.AzureVmJob GetPSAzureVmJob(JobResource serviceClientJob) { CmdletModel.AzureVmJob response; AzureIaaSVMJob vmJob = serviceClientJob.Properties as AzureIaaSVMJob; if (vmJob.ExtendedInfo != null) { response = new CmdletModel.AzureVmJobDetails(); } else { response = new CmdletModel.AzureVmJob(); } response.JobId = GetLastIdFromFullId(serviceClientJob.Id); response.StartTime = vmJob.StartTime; response.EndTime = vmJob.EndTime; response.Duration = vmJob.Duration; response.Status = vmJob.Status; response.VmVersion = vmJob.VirtualMachineVersion; response.WorkloadName = vmJob.EntityFriendlyName; response.ActivityId = vmJob.ActivityId; response.BackupManagementType = CmdletModel.EnumUtils.GetEnum<CmdletModel.BackupManagementType>( GetPSBackupManagementType(vmJob.BackupManagementType)); response.Operation = vmJob.Operation; if (vmJob.ErrorDetails != null) { response.ErrorDetails = new List<CmdletModel.AzureVmJobErrorInfo>(); foreach (var vmError in vmJob.ErrorDetails) { response.ErrorDetails.Add(GetPSAzureVmErrorInfo(vmError)); } } // fill extended info if present if (vmJob.ExtendedInfo != null) { CmdletModel.AzureVmJobDetails detailedResponse = response as CmdletModel.AzureVmJobDetails; detailedResponse.DynamicErrorMessage = vmJob.ExtendedInfo.DynamicErrorMessage; if (vmJob.ExtendedInfo.PropertyBag != null) { detailedResponse.Properties = new Dictionary<string, string>(); foreach (var key in vmJob.ExtendedInfo.PropertyBag.Keys) { detailedResponse.Properties.Add(key, vmJob.ExtendedInfo.PropertyBag[key]); } } if (vmJob.ExtendedInfo.TasksList != null) { detailedResponse.SubTasks = new List<CmdletModel.AzureVmJobSubTask>(); foreach (var vmJobTask in vmJob.ExtendedInfo.TasksList) { detailedResponse.SubTasks.Add(new CmdletModel.AzureVmJobSubTask() { Name = vmJobTask.TaskId, Status = vmJobTask.Status }); } } } return response; }