Exemplo n.º 1
0
        public void EnumerateProtectedItemsUnderFabric()
        {
            using (UndoContext context = UndoContext.Current)
            {
                context.Start();
                var client = GetSiteRecoveryClient(CustomHttpHandler);

                List <ReplicationProtectedItem> itemsList = new List <ReplicationProtectedItem>();
                var queryParams = new ProtectedItemsQueryParameter
                {
                    SourceFabricName = "2163c4b41217f3a2274ffa9914d6707b5a93b013683762e18378d0af4fe2ca0c"
                };

                var protectedItemsResponse = client.ReplicationProtectedItem.ListAll(
                    null,
                    queryParams,
                    RequestHeaders);
                itemsList.AddRange(protectedItemsResponse.ReplicationProtectedItems);
                while (protectedItemsResponse.NextLink != null)
                {
                    protectedItemsResponse = client.ReplicationProtectedItem.ListAllNext(
                        protectedItemsResponse.NextLink,
                        RequestHeaders);

                    itemsList.AddRange(protectedItemsResponse.ReplicationProtectedItems);
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Retrieves Protected Items.
        /// </summary>
        /// <param name="protectionContainerName">Recovery Plan Name</param>
        /// <param name="sourceFabricName">Source Fabric Name</param>
        /// <returns>Protection entity list response</returns>
        public ReplicationProtectedItemListResponse GetAzureSiteRecoveryReplicationProtectedItemInRP(string recoveryPlanName)
        {
            ReplicationProtectedItemListResponse output = new ReplicationProtectedItemListResponse();
            List <ReplicationProtectedItem>      replicationProtectedItems = new List <ReplicationProtectedItem>();

            var protectedItemsQueryParameter = new ProtectedItemsQueryParameter()
            {
                RecoveryPlanName = recoveryPlanName
            };
            ReplicationProtectedItemListResponse response = this
                                                            .GetSiteRecoveryClient()
                                                            .ReplicationProtectedItem.ListAll(null, protectedItemsQueryParameter, this.GetRequestHeaders());

            replicationProtectedItems.AddRange(response.ReplicationProtectedItems);
            while (response.NextLink != null)
            {
                response = this
                           .GetSiteRecoveryClient()
                           .ReplicationProtectedItem.ListAllNext(response.NextLink, this.GetRequestHeaders());
                replicationProtectedItems.AddRange(response.ReplicationProtectedItems);
            }

            output.ReplicationProtectedItems = replicationProtectedItems;
            return(output);
        }
        /// <summary>
        ///     Retrieves Protected Items.
        /// </summary>
        /// <param name="recoveryPlanName">Recovery Plan Name</param>
        /// <returns>Protection entity list response</returns>
        public List <ReplicationProtectedItem> GetAzureSiteRecoveryReplicationProtectedItemInRP(
            string recoveryPlanName)
        {
            var protectedItemsQueryParameter =
                new ProtectedItemsQueryParameter {
                RecoveryPlanName = recoveryPlanName
            };
            var odataQuery =
                new ODataQuery <ProtectedItemsQueryParameter>(
                    protectedItemsQueryParameter.ToQueryString());
            var firstPage = this.GetSiteRecoveryClient()
                            .ReplicationProtectedItems.ListWithHttpMessagesAsync(
                odataQuery,
                null,
                this.GetRequestHeaders(true))
                            .GetAwaiter()
                            .GetResult()
                            .Body;

            var pages = Utilities.GetAllFurtherPages(
                this.GetSiteRecoveryClient()
                .ReplicationProtectedItems.ListNextWithHttpMessagesAsync,
                firstPage.NextPageLink,
                this.GetRequestHeaders(true));

            pages.Insert(0, firstPage);
            return(Utilities.IpageToList(pages));
        }
Exemplo n.º 4
0
        public void EnumerateProtectedItemsUnderFabric()
        {
            using (UndoContext context = UndoContext.Current)
            {
                context.Start();
                var client = GetSiteRecoveryClient(CustomHttpHandler);

                var fabrics = client.Fabrics.List(RequestHeaders).Fabrics.ToList();
                List <ReplicationProtectedItem> itemsList = new List <ReplicationProtectedItem>();
                var queryParams = new ProtectedItemsQueryParameter
                {
                    SourceFabricName = fabrics.First().Name
                };

                var protectedItemsResponse = client.ReplicationProtectedItem.ListAll(
                    null,
                    queryParams,
                    RequestHeaders);
                itemsList.AddRange(protectedItemsResponse.ReplicationProtectedItems);
                while (protectedItemsResponse.NextLink != null)
                {
                    protectedItemsResponse = client.ReplicationProtectedItem.ListAllNext(
                        protectedItemsResponse.NextLink,
                        RequestHeaders);

                    itemsList.AddRange(protectedItemsResponse.ReplicationProtectedItems);
                }
            }
        }