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"); } }
public ProtectionContainerListResponse ListContainers(string rsVaultRgName, string rsVaultName, ProtectionContainerListQueryParams queryParams) { 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; }
/// <summary> /// Fetches protection containers in the vault according to the query params /// </summary> /// <param name="parameters">Query parameters</param> /// <returns>List of protection containers</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; }
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"); } }
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); } }
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(); }
/// <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 friendlyName = (string)this.ProviderData[ContainerParams.FriendlyName]; string resourceGroupName = (string)this.ProviderData[ContainerParams.ResourceGroupName]; ContainerRegistrationStatus status = (ContainerRegistrationStatus)this.ProviderData[ContainerParams.Status]; if (backupManagementTypeNullable.HasValue) { ValidateAzureVMBackupManagementType(backupManagementTypeNullable.Value); } string nameQueryFilter = friendlyName; if (!string.IsNullOrEmpty(name)) { Logger.Instance.WriteWarning(Resources.GetContainerNameParamDeprecated); if (string.IsNullOrEmpty(friendlyName)) { nameQueryFilter = name; } } ProtectionContainerListQueryParams queryParams = new ProtectionContainerListQueryParams(); // 1. Filter by Name queryParams.FriendlyName = nameQueryFilter; // 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 => { return string.Compare( (containerModel as AzureVmContainer).ResourceGroupName, resourceGroupName, true) == 0; }).ToList(); } return containerModels; }
/// <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; }
/// <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; }