public override void ExecuteCmdlet() { base.ExecuteCmdlet(); ExecutionBlock(() => { WriteDebug(Resources.MakingClientCall); AzureIaaSVMRecoveryInputsCSMObject azureIaaSVMRecoveryInputsCSMObject = new AzureIaaSVMRecoveryInputsCSMObject() { CloudServiceName = string.Empty, VmName = string.Empty, CreateNewCloudService = false, ContinueProtection = false, InputStorageAccountName = StorageAccountName, AffinityGroup = "", Region = RecoveryPoint.Location, }; string azureIaaSVMRecoveryInputsCSMObjectString = JsonConvert.SerializeObject( azureIaaSVMRecoveryInputsCSMObject, new JsonSerializerSettings { DateFormatHandling = DateFormatHandling.MicrosoftDateFormat }); CSMRestoreRequest csmRestoreRequest = new CSMRestoreRequest() { Properties = new CSMRestoreRequestProperties() { TypeOfRecovery = RecoveryType.RestoreDisks.ToString(), RecoveryDSTypeSpecificInputs = azureIaaSVMRecoveryInputsCSMObjectString, }, }; Guid operationId = AzureBackupClient.TriggerRestore(RecoveryPoint.ResourceGroupName, RecoveryPoint.ResourceName, RecoveryPoint.ContainerUniqueName, RecoveryPoint.ItemName, RecoveryPoint.RecoveryPointName, csmRestoreRequest); WriteDebug(string.Format(Resources.TriggeringRestore, operationId)); var operationStatus = TrackOperation(RecoveryPoint.ResourceGroupName, RecoveryPoint.ResourceName, operationId); WriteObject(GetCreatedJobs(RecoveryPoint.ResourceGroupName, RecoveryPoint.ResourceName, new Models.AzureRMBackupVault(RecoveryPoint.ResourceGroupName, RecoveryPoint.ResourceName, RecoveryPoint.Location), operationStatus.JobList).FirstOrDefault()); }); }