コード例 #1
0
        public void ListContainersTest()
        {
            using (UndoContext context = UndoContext.Current)
            {
                context.Start();

                string resourceNamespace = ConfigurationManager.AppSettings["ResourceNamespace"];

                var client = GetServiceClient <RecoveryServicesBackupManagementClient>(resourceNamespace);

                ProtectionContainerListQueryParams queryParams = new ProtectionContainerListQueryParams();
                queryParams.BackupManagementType = CommonTestHelper.GetSetting(TestConstants.ProviderTypeAzureIaasVM);

                ContainerTestHelper             containerTestHelper = new ContainerTestHelper(client);
                ProtectionContainerListResponse response            = containerTestHelper.ListContainers(queryParams);

                string containerName = ConfigurationManager.AppSettings["RsVaultIaasV1ContainerUniqueName"];;
                Assert.True(
                    response.ItemList.ProtectionContainers.Any(
                        protectionContainer =>
                {
                    return(protectionContainer.Properties.GetType().IsSubclassOf(typeof(AzureIaaSVMProtectionContainer)) &&
                           protectionContainer.Name.Contains(containerName));
                }),
                    "Retrieved list of containers doesn't contain AzureIaaSClassicComputeVMProtectionContainer test container");
            }
        }
コード例 #2
0
        /// <summary>
        /// Lists protection containers according to the provider data
        /// </summary>
        /// <returns>List of protection containers</returns>
        public List <Models.ContainerBase> ListProtectionContainers()
        {
            string name = (string)this.ProviderData[ContainerParams.Name];

            ProtectionContainerListQueryParams queryParams =
                new ProtectionContainerListQueryParams();

            queryParams.BackupManagementType =
                ServiceClientModel.BackupManagementType.AzureSql.ToString();

            var listResponse = ServiceClientAdapter.ListContainers(queryParams);

            List <ContainerBase> containerModels =
                ConversionHelpers.GetContainerModelList(listResponse);

            if (!string.IsNullOrEmpty(name))
            {
                if (containerModels != null)
                {
                    containerModels = containerModels.Where(x => x.Name == name).ToList();
                }
            }

            return(containerModels);
        }
コード例 #3
0
        /// <summary>
        /// Fetches protection containers in the vault according to the query params
        /// </summary>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public IEnumerable <ProtectionContainerResource> ListContainers(
            ProtectionContainerListQueryParams queryParams)
        {
            var listResponse = BmsAdapter.Client.Containers.ListAsync(
                BmsAdapter.GetResourceGroupName(),
                BmsAdapter.GetResourceName(),
                queryParams,
                BmsAdapter.GetCustomRequestHeaders(),
                BmsAdapter.CmdletCancellationToken).Result;

            return(listResponse.ItemList.ProtectionContainers);
        }
コード例 #4
0
        public ProtectionContainerListResponse ListMABContainers(ProtectionContainerListQueryParams queryParams)
        {
            string rsVaultRgName = CommonTestHelper.GetSetting(TestConstants.RsVaultRgName);
            string rsVaultName   = CommonTestHelper.GetSetting(TestConstants.RsVaultName);

            ProtectionContainerListResponse response = Client.Containers.List(rsVaultRgName, rsVaultName, queryParams, CommonTestHelper.GetCustomRequestHeaders());

            Assert.NotNull(response);
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.NotNull(response.ItemList);
            return(response);
        }
コード例 #5
0
        public void ListContainersTest()
        {
            using (UndoContext context = UndoContext.Current)
            {
                context.Start();

                string resourceNamespace = ConfigurationManager.AppSettings["ResourceNamespace"];
                string resourceGroupName = ConfigurationManager.AppSettings["RsVaultRgNameRP"];
                string resourceName      = ConfigurationManager.AppSettings["RsVaultNameRP"];
                string location          = ConfigurationManager.AppSettings["vaultLocationRP"];
                // TODO: Create VM instead of taking these parameters from config
                string containerUniqueName = ConfigurationManager.AppSettings["RsVaultIaasVMContainerUniqueNameRP"];
                string itemUniqueName      = ConfigurationManager.AppSettings["RsVaultIaasVMItemUniqueNameRP"];
                string containeType        = ConfigurationManager.AppSettings["IaaSVMContainerType"];
                string itemType            = ConfigurationManager.AppSettings["IaaSVMItemType"];
                string containerUri        = containeType + ";" + containerUniqueName;
                string itemUri             = itemType + ";" + itemUniqueName;

                var client = GetServiceClient <RecoveryServicesBackupManagementClient>(resourceNamespace);

                // 1. Create vault
                VaultTestHelpers vaultTestHelper = new VaultTestHelpers(client);
                vaultTestHelper.CreateVault(resourceGroupName, resourceName, location);

                // 2. Get default policy
                PolicyTestHelpers policyTestHelper = new PolicyTestHelpers(client);
                string            policyId         = policyTestHelper.GetDefaultPolicyId(resourceGroupName, resourceName);

                // 3. Enable protection
                ProtectedItemTestHelpers protectedItemTestHelper = new ProtectedItemTestHelpers(client);
                protectedItemTestHelper.EnableProtection(resourceGroupName, resourceName, policyId, containerUri, itemUri);

                // ACTION: List containers
                ProtectionContainerListQueryParams queryParams = new ProtectionContainerListQueryParams();
                queryParams.BackupManagementType = CommonTestHelper.GetSetting(TestConstants.ProviderTypeAzureIaasVM);
                ContainerTestHelper             containerTestHelper = new ContainerTestHelper(client);
                ProtectionContainerListResponse response            = containerTestHelper.ListContainers(resourceGroupName, resourceName, queryParams);

                // VALIDATION: VM should be found in the list
                Assert.True(response.ItemList.ProtectionContainers.Any(
                                protectionContainer =>
                {
                    return(protectionContainer.Properties.GetType().IsSubclassOf(typeof(AzureIaaSVMProtectionContainer)) &&
                           protectionContainer.Name.Contains(containerUniqueName));
                }),
                            "Retrieved list of containers doesn't contain AzureIaaSVMProtectionContainer test container");
            }
        }
コード例 #6
0
        /// <summary>
        /// Lists containers registered to the recovery services vault according to the provider data
        /// </summary>
        /// <returns>List of protection containers</returns>
        public List <Models.ContainerBase> ListProtectionContainers()
        {
            string name = (string)this.ProviderData[ContainerParams.Name];

            ProtectionContainerListQueryParams queryParams = new ProtectionContainerListQueryParams();

            // 1. Filter by Name
            queryParams.FriendlyName = name;

            // 2. Filter by ContainerType
            queryParams.BackupManagementType = ServiceClientModel.BackupManagementType.MAB.ToString();

            var listResponse = ServiceClientAdapter.ListContainers(queryParams);

            List <ContainerBase> containerModels = ConversionHelpers.GetContainerModelList(listResponse);

            return(containerModels);
        }
コード例 #7
0
        /// <summary>
        /// Lists protection containers according to the provider data
        /// </summary>
        /// <returns>List of protection containers</returns>
        public List <ContainerBase> ListProtectionContainers()
        {
            Models.ContainerType containerType =
                (Models.ContainerType) this.ProviderData[ContainerParams.ContainerType];
            Models.BackupManagementType?backupManagementTypeNullable =
                (Models.BackupManagementType?) this.ProviderData[ContainerParams.BackupManagementType];
            string name = (string)this.ProviderData[ContainerParams.Name];
            string resourceGroupName           = (string)this.ProviderData[ContainerParams.ResourceGroupName];
            ContainerRegistrationStatus status =
                (ContainerRegistrationStatus)this.ProviderData[ContainerParams.Status];

            if (backupManagementTypeNullable.HasValue)
            {
                ValidateAzureVMBackupManagementType(backupManagementTypeNullable.Value);
            }

            ProtectionContainerListQueryParams queryParams = new ProtectionContainerListQueryParams();

            // 1. Filter by Name
            queryParams.FriendlyName = name;

            // 2. Filter by ContainerType
            queryParams.BackupManagementType =
                ServiceClientModel.BackupManagementType.AzureIaasVM.ToString();

            // 3. Filter by Status
            if (status != 0)
            {
                queryParams.RegistrationStatus = status.ToString();
            }

            var listResponse = ServiceClientAdapter.ListContainers(queryParams);

            List <ContainerBase> containerModels = ConversionHelpers.GetContainerModelList(listResponse);

            // 4. Filter by RG Name
            if (!string.IsNullOrEmpty(resourceGroupName))
            {
                containerModels = containerModels.Where(containerModel =>
                                                        (containerModel as AzureVmContainer).ResourceGroupName == resourceGroupName).ToList();
            }

            return(containerModels);
        }
コード例 #8
0
        public void ListContainersTest()
        {
            using (UndoContext context = UndoContext.Current)
            {
                context.Start();

                string resourceNamespace = ConfigurationManager.AppSettings["ResourceNamespace"];

                var client = GetServiceClient <RecoveryServicesBackupManagementClient>(resourceNamespace);
                ProtectionContainerListQueryParams queryParams = new ProtectionContainerListQueryParams();
                queryParams.BackupManagementType = BackupManagementType.MAB.ToString();

                ContainerTestHelper             containerTestHelper = new ContainerTestHelper(client);
                ProtectionContainerListResponse response            = containerTestHelper.ListMABContainers(queryParams);

                string containerUniqueName       = CommonTestHelper.GetSetting(TestConstants.RsVaultMabContainerUniqueName);
                MabProtectionContainer container = response.ItemList.ProtectionContainers[0].Properties as MabProtectionContainer;
                Assert.NotNull(container);
                Assert.Equal(containerUniqueName, container.FriendlyName);
            }
        }
コード例 #9
0
        public void ListContainersTest()
        {
            using (UndoContext context = UndoContext.Current)
            {
                context.Start();

                string resourceNamespace = ConfigurationManager.AppSettings["ResourceNamespace"];
                string rsVaultRgName     = CommonTestHelper.GetSetting(TestConstants.RsVaultRgName);
                string rsVaultName       = CommonTestHelper.GetSetting(TestConstants.RsVaultName);

                var client = GetServiceClient <RecoveryServicesBackupManagementClient>(resourceNamespace);
                ProtectionContainerListQueryParams queryParams = new ProtectionContainerListQueryParams();
                queryParams.BackupManagementType = BackupManagementType.AzureSql.ToString();

                ContainerTestHelper             containerTestHelper = new ContainerTestHelper(client);
                ProtectionContainerListResponse response            = containerTestHelper.ListContainers(rsVaultRgName, rsVaultName, queryParams);

                string containerUniqueName = ConfigurationManager.AppSettings["ContainerTypeAzureSql"] + ";" + ConfigurationManager.AppSettings["AzureSqlContainerName"];
                var    container           = response.ItemList.ProtectionContainers[0];
                Assert.NotNull(container);
                Assert.Equal(containerUniqueName, container.Name);
            }
        }
 /// <summary>
 /// Lists all the containers registered to your Recovery Services Vault
 /// according to the query parameters supplied in the arguments.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.RecoveryServices.Backup.IContainerOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. Resource group name of your recovery services vault.
 /// </param>
 /// <param name='resourceName'>
 /// Required. Name of your recovery services vault.
 /// </param>
 /// <param name='queryParams'>
 /// Required. Query parameters for listing protection containers.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Required. Request header parameters.
 /// </param>
 /// <returns>
 /// List of protection containers returned as a response by the list
 /// protection containers API.
 /// </returns>
 public static Task <ProtectionContainerListResponse> ListAsync(this IContainerOperations operations, string resourceGroupName, string resourceName, ProtectionContainerListQueryParams queryParams, CustomRequestHeaders customRequestHeaders)
 {
     return(operations.ListAsync(resourceGroupName, resourceName, queryParams, customRequestHeaders, CancellationToken.None));
 }
 /// <summary>
 /// Lists all the containers registered to your Recovery Services Vault
 /// according to the query parameters supplied in the arguments.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.RecoveryServices.Backup.IContainerOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. Resource group name of your recovery services vault.
 /// </param>
 /// <param name='resourceName'>
 /// Required. Name of your recovery services vault.
 /// </param>
 /// <param name='queryParams'>
 /// Required. Query parameters for listing protection containers.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Required. Request header parameters.
 /// </param>
 /// <returns>
 /// List of protection containers returned as a response by the list
 /// protection containers API.
 /// </returns>
 public static ProtectionContainerListResponse List(this IContainerOperations operations, string resourceGroupName, string resourceName, ProtectionContainerListQueryParams queryParams, CustomRequestHeaders customRequestHeaders)
 {
     return(Task.Factory.StartNew((object s) =>
     {
         return ((IContainerOperations)s).ListAsync(resourceGroupName, resourceName, queryParams, customRequestHeaders);
     }
                                  , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }