コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        /// <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));
        }
コード例 #5
0
ファイル: VaultAPIs.cs プロジェクト: csm789/azure-powershell
        /// <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);
        }
コード例 #6
0
        /// <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));
        }
コード例 #7
0
ファイル: PolicyAPIs.cs プロジェクト: yolocs/azure-powershell
        /// <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));
        }
コード例 #8
0
        /// <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);
        }
コード例 #9
0
        /// <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));
        }
コード例 #10
0
        /// <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));
        }
コード例 #11
0
        /// <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));
        }