/// <summary> /// Lists recovery points recommended for Archive move /// </summary> /// <param name="containerName">Name of the container which the item belongs to</param> /// <param name="protectedItemName">Name of the item</param> /// <returns>List of recovery points</returns> public List <RecoveryPointResource> GetMoveRecommendedRecoveryPoints( string containerName, string protectedItemName, ListRecoveryPointsRecommendedForMoveRequest moveRequest, string vaultName = null, string resourceGroupName = null) { Func <RestAzureNS.IPage <RecoveryPointResource> > listAsync = () => BmsAdapter.Client.RecoveryPointsRecommendedForMove.ListWithHttpMessagesAsync( vaultName, resourceGroupName, AzureFabricName, containerName, protectedItemName, moveRequest ).Result.Body; Func <string, RestAzureNS.IPage <RecoveryPointResource> > listNextAsync = nextLink => BmsAdapter.Client.RecoveryPointsRecommendedForMove.ListNextWithHttpMessagesAsync( nextLink, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; var response = HelperUtils.GetPagedList(listAsync, listNextAsync); return(response); }
/// <summary> /// Lists recovery points from Secondary region for CRR /// </summary> /// <param name="containerName">Name of the container which the item belongs to</param> /// <param name="protectedItemName">Name of the item</param> /// <param name="queryFilter">Query filter</param> /// <returns>List of recovery points</returns> public List <RecoveryPointResource> GetRecoveryPointsFromSecondaryRegion( string containerName, string protectedItemName, ODataQuery <BMSRPQueryObject> queryFilter, string vaultName = null, string resourceGroupName = null) { Func <RestAzureNS.IPage <RecoveryPointResource> > listAsync = () => BmsAdapter.Client.RecoveryPointsCrr.ListWithHttpMessagesAsync( vaultName ?? BmsAdapter.GetResourceName(), resourceGroupName ?? BmsAdapter.GetResourceGroupName(), AzureFabricName, containerName, protectedItemName, queryFilter, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; Func <string, RestAzureNS.IPage <RecoveryPointResource> > listNextAsync = nextLink => BmsAdapter.Client.RecoveryPointsCrr.ListNextWithHttpMessagesAsync( nextLink, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; var response = HelperUtils.GetPagedList(listAsync, listNextAsync); return(response); }
public List <JobResource> GetCrrJobs(string vaultId, string jobId, string status, string operation, DateTime startTime, DateTime endTime, string backupManagementType, string azureRegion = null) { ODataQuery <JobQueryObject> queryFilter = GetQueryObject( backupManagementType, startTime, endTime, jobId, status, operation); CrrJobRequest crrJobRequest = new CrrJobRequest(); crrJobRequest.ResourceId = vaultId; Func <RestAzureNS.IPage <JobResource> > listAsync = () => BmsAdapter.Client.BackupCrrJobs.ListWithHttpMessagesAsync(azureRegion, crrJobRequest, queryFilter, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; // , crrJobRequest , queryFilter Func <string, RestAzureNS.IPage <JobResource> > listNextAsync = nextLink => BmsAdapter.Client.BackupJobs.ListNextWithHttpMessagesAsync( nextLink, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; return(HelperUtils.GetPagedList(listAsync, listNextAsync)); }
/// <summary> /// Lists jobs according to the parameters /// </summary> /// <param name="jobId">ID of the job</param> /// <param name="status">Status of the job</param> /// <param name="operation">Operation represented by the job</param> /// <param name="startTime">Time when the job started</param> /// <param name="endTime">Time when the job finished</param> /// <param name="backupManagementType">Backup management type of the item represented by the job</param> /// <param name="skipToken">Skip token pagination param</param> /// <returns>Job list response from the service</returns> public List <JobResource> GetJobs( string jobId, string status, string operation, DateTime startTime, DateTime endTime, string backupManagementType, string skipToken = null, string vaultName = null, string resourceGroupName = null) { ODataQuery <JobQueryObject> queryFilter = GetQueryObject( backupManagementType, startTime, endTime, jobId, status, operation); Func <RestAzureNS.IPage <JobResource> > listAsync = () => BmsAdapter.Client.BackupJobs.ListWithHttpMessagesAsync( vaultName ?? BmsAdapter.GetResourceName(), resourceGroupName ?? BmsAdapter.GetResourceGroupName(), queryFilter, skipToken, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; Func <string, RestAzureNS.IPage <JobResource> > listNextAsync = nextLink => BmsAdapter.Client.BackupJobs.ListNextWithHttpMessagesAsync( nextLink, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; return(HelperUtils.GetPagedList(listAsync, listNextAsync)); }
/// <summary> /// Method to fetch resource guard proxy list. /// </summary> /// <param name="vaultName"></param> /// <param name="resourceGroupName"></param> /// <returns></returns> public List <ResourceGuardProxyBaseResource> ListResourceGuardMapping(string vaultName, string resourceGroupName) { Func <RestAzureNS.IPage <ResourceGuardProxyBaseResource> > proxyPagedList = () => BmsAdapter.Client.ResourceGuardProxies.GetWithHttpMessagesAsync(vaultName ?? BmsAdapter.GetResourceName(), resourceGroupName ?? BmsAdapter.GetResourceGroupName()).Result.Body; Func <string, RestAzureNS.IPage <ResourceGuardProxyBaseResource> > proxyPagedListNext = nextLink => BmsAdapter.Client.ResourceGuardProxies.GetNextWithHttpMessagesAsync( nextLink, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; var proxyList = HelperUtils.GetPagedList(proxyPagedList, proxyPagedListNext); return(proxyList); }
/// <summary> /// Fetches protection containers in the vault according to the query params /// </summary> /// <param name="queryFilter">Query parameters</param> /// <param name="skipToken">Skip token for pagination</param> /// <returns>List of protection containers</returns> public IEnumerable <ProtectionContainerResource> ListContainers( ODataQuery <BMSContainerQueryObject> queryFilter, string skipToken = default(string)) { Func <RestAzureNS.IPage <ProtectionContainerResource> > listAsync = () => BmsAdapter.Client.ProtectionContainers.ListWithHttpMessagesAsync( BmsAdapter.GetResourceName(), BmsAdapter.GetResourceGroupName(), queryFilter, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; Func <string, RestAzureNS.IPage <ProtectionContainerResource> > listNextAsync = nextLink => BmsAdapter.Client.ProtectionContainers.ListNextWithHttpMessagesAsync( nextLink, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; return(HelperUtils.GetPagedList(listAsync, listNextAsync)); }
/// <summary> /// Lists protection policies according to the input query filter /// </summary> /// <param name="queryFilter">Query filter</param> /// <param name="skipToken">Skip token for pagination</param> /// <returns>List of protection policies</returns> public List <ProtectionPolicyResource> ListProtectionPolicy( RestAzureODataNS.ODataQuery <ProtectionPolicyQueryObject> queryFilter, string skipToken = default(string)) { Func <RestAzureNS.IPage <ProtectionPolicyResource> > listAsync = () => BmsAdapter.Client.BackupPolicies.ListWithHttpMessagesAsync( BmsAdapter.GetResourceName(), BmsAdapter.GetResourceGroupName(), queryFilter, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; Func <string, RestAzureNS.IPage <ProtectionPolicyResource> > listNextAsync = nextLink => BmsAdapter.Client.BackupPolicies.ListNextWithHttpMessagesAsync( nextLink, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; return(HelperUtils.GetPagedList(listAsync, listNextAsync)); }
/// <summary> /// Fetches backup engines in the vault according to the query params /// </summary> /// <param name="queryParams">Query parameters</param> /// <returns>List of backup engines</returns> public IEnumerable <BackupEngineBaseResource> ListBackupEngines( ODataQuery <BMSBackupEngineQueryObject> queryParams) { queryParams.Top = 200; Func <RestAzureNS.IPage <BackupEngineBaseResource> > listAsync = () => BmsAdapter.Client.BackupEngines.GetWithHttpMessagesAsync( BmsAdapter.GetResourceName(), BmsAdapter.GetResourceGroupName(), queryParams, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; Func <string, RestAzureNS.IPage <BackupEngineBaseResource> > listNextAsync = nextLink => BmsAdapter.Client.BackupEngines.GetNextWithHttpMessagesAsync( nextLink, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; var listResponse = HelperUtils.GetPagedList(listAsync, listNextAsync); return(listResponse); }
/// <summary> /// Fetches unregistered containers in the vault according to the query params /// </summary> /// <param name="queryFilter">Query parameters</param> /// <param name="vaultName"></param> /// <param name="resourceGroupName"></param> /// <returns>List of protectable containers</returns> public IEnumerable <ProtectableContainerResource> ListUnregisteredContainers( ODataQuery <BMSContainerQueryObject> queryFilter, string vaultName = null, string resourceGroupName = null) { Func <RestAzureNS.IPage <ProtectableContainerResource> > listAsync = () => BmsAdapter.Client.ProtectableContainers.ListWithHttpMessagesAsync( vaultName ?? BmsAdapter.GetResourceName(), resourceGroupName ?? BmsAdapter.GetResourceGroupName(), AzureFabricName, queryFilter, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; Func <string, RestAzureNS.IPage <ProtectableContainerResource> > listNextAsync = nextLink => BmsAdapter.Client.ProtectableContainers.ListNextWithHttpMessagesAsync( nextLink, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; return(HelperUtils.GetPagedList(listAsync, listNextAsync)); }
/// <summary> /// Lists protectable items according to the query filter and the pagination params /// </summary> /// <param name="queryFilter">Query filter</param> /// <param name="skipToken">Skip token for pagination</param> /// <returns>List of protectable items</returns> public List <WorkloadProtectableItemResource> ListProtectableItem( ODataQuery <BMSPOQueryObject> queryFilter, string skipToken = default(string), string vaultName = null, string resourceGroupName = null) { Func <RestAzureNS.IPage <WorkloadProtectableItemResource> > listAsync = () => BmsAdapter.Client.BackupProtectableItems.ListWithHttpMessagesAsync( vaultName ?? BmsAdapter.GetResourceName(), resourceGroupName ?? BmsAdapter.GetResourceGroupName(), queryFilter, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; Func <string, RestAzureNS.IPage <WorkloadProtectableItemResource> > listNextAsync = nextLink => BmsAdapter.Client.BackupProtectableItems.ListNextWithHttpMessagesAsync( nextLink, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; return(HelperUtils.GetPagedList(listAsync, listNextAsync)); }
/// <summary> /// List protected items protected by the Recovery Services vault according to the query params /// and pagination params. /// </summary> /// <param name="queryFilter">Query params</param> /// <param name="skipToken">Skip token used for pagination</param> /// <returns>List of protected items</returns> public List <ProtectedItemResource> ListProtectedItem( ODataQuery <ProtectedItemQueryObject> queryFilter, string skipToken = default(string)) { string resourceName = BmsAdapter.GetResourceName(); string resourceGroupName = BmsAdapter.GetResourceGroupName(); Func <RestAzureNS.IPage <ProtectedItemResource> > listAsync = () => BmsAdapter.Client.ProtectedItems.ListWithHttpMessagesAsync( resourceName, resourceGroupName, queryFilter, skipToken, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; Func <string, RestAzureNS.IPage <ProtectedItemResource> > listNextAsync = nextLink => BmsAdapter.Client.ProtectedItems.ListNextWithHttpMessagesAsync( nextLink, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; return(HelperUtils.GetPagedList(listAsync, listNextAsync)); }