/// <summary>
 /// Get the list of all items
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IProtectableObjectOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required.
 /// </param>
 /// <param name='resourceName'>
 /// Required.
 /// </param>
 /// <param name='csmparameters'>
 /// Optional. Protectable objects query parameter.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// The definition of a CSMItemListOperationResponse.
 /// </returns>
 public static CSMItemListOperationResponse ListCSM(this IProtectableObjectOperations operations, string resourceGroupName, string resourceName, CSMItemQueryObject csmparameters, CustomRequestHeaders customRequestHeaders)
 {
     return Task.Factory.StartNew((object s) => 
     {
         return ((IProtectableObjectOperations)s).ListCSMAsync(resourceGroupName, resourceName, csmparameters, customRequestHeaders);
     }
     , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
        public override void ExecuteCmdlet()
        {
            ExecutionBlock(() =>
            {
                base.ExecuteCmdlet();

                List<CSMProtectedItemResponse> azureBackupDatasourceObjects = null;
                List<CSMItemResponse> azureBackupPOObjects = null;

                WriteDebug(Resources.MakingClientCall);
                CSMProtectedItemQueryObject DSQueryParam = new CSMProtectedItemQueryObject()
                {
                    ProtectionStatus = this.ProtectionStatus,
                    Status = this.Status,
                    Type = GetItemType(this.Type)
                };

                CSMItemQueryObject POQueryParam = new CSMItemQueryObject()
                {
                    Status = this.ProtectionStatus,
                    Type = GetItemType(this.Type)
                };

                var azureBackupDatasourceListResponse = AzureBackupClient.ListDataSources(Container.ResourceGroupName, Container.ResourceName, DSQueryParam);

                if (azureBackupDatasourceListResponse != null)
                {
                    azureBackupDatasourceObjects = azureBackupDatasourceListResponse.Where(x => x.Properties.ContainerId.Split('/').Last().Equals(Container.ContainerUniqueName, System.StringComparison.InvariantCultureIgnoreCase)).ToList();
                }

                if (this.Status == null)
                {
                    var azureBackupPOListResponse = AzureBackupClient.ListProtectableObjects(Container.ResourceGroupName, Container.ResourceName, POQueryParam);
                    if (azureBackupPOListResponse != null)
                    {
                        azureBackupPOObjects = azureBackupPOListResponse.Where(x => x.Properties.ContainerId.Split('/').Last().Equals(Container.ContainerUniqueName, System.StringComparison.InvariantCultureIgnoreCase)).ToList();
                    }
                }

                WriteDebug(Resources.AzureBackupItemResponse);
                WriteAzureBackupItem(azureBackupDatasourceObjects, azureBackupPOObjects, Container);
            });
        }
        public void ListAzureBackupItemPOTest()
        {
            using (UndoContext context = UndoContext.Current)
            {
                context.Start();

                CSMItemQueryObject POQueryParam = new CSMItemQueryObject()
                {
                    Status = null,
                    Type = null
                };

                var client = GetServiceClient<BackupServicesManagementClient>();

                var response = client.ProtectableObject.ListCSMAsync(BackupServicesTestsBase.ResourceGroupName, BackupServicesTestsBase.ResourceName, POQueryParam, GetCustomRequestHeaders()).Result;

                Assert.True(response.CSMItemListResponse.Value.Count > 0, "Protectable Object Result count can't be less than 1");

                foreach (var po in response.CSMItemListResponse.Value)
                {
                    Assert.True(!string.IsNullOrEmpty(po.Properties.ContainerId), "ContainerId can't be null or empty");
                    Assert.True(!string.IsNullOrEmpty(po.Properties.FriendlyName), "FriendlyName can't be null or empty");
                    Assert.True(!string.IsNullOrEmpty(po.Properties.ItemType), "ItemType can't be null or empty");
                    Assert.True(!string.IsNullOrEmpty(po.Properties.Status), "Status can't be null or empty");
                    Assert.True(!string.IsNullOrEmpty(po.Name), "Name can't be null or empty");
                    Assert.True(!string.IsNullOrEmpty(po.Type), "Type can't be null or empty");
                }

                Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            }
        }
Exemplo n.º 4
0
 /// <summary>
 /// Lists protectable objects in the vault
 /// </summary>
 /// <param name="query"></param>
 /// <returns></returns>
 public IList<CSMItemResponse> ListProtectableObjects(string resourceGroupName, string resourceName, CSMItemQueryObject query)
 {
     var response = AzureBackupClient.ProtectableObject.ListCSMAsync(resourceGroupName, resourceName, query, GetCustomRequestHeaders(), CmdletCancellationToken).Result;
     return (response != null) ? response.CSMItemListResponse.Value : null;
 }
 /// <summary>
 /// Get the list of all items
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IProtectableObjectOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required.
 /// </param>
 /// <param name='resourceName'>
 /// Required.
 /// </param>
 /// <param name='csmparameters'>
 /// Optional. Protectable objects query parameter.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// The definition of a CSMItemListOperationResponse.
 /// </returns>
 public static Task<CSMItemListOperationResponse> ListCSMAsync(this IProtectableObjectOperations operations, string resourceGroupName, string resourceName, CSMItemQueryObject csmparameters, CustomRequestHeaders customRequestHeaders)
 {
     return operations.ListCSMAsync(resourceGroupName, resourceName, csmparameters, customRequestHeaders, CancellationToken.None);
 }