Skip to content

Commit ada31bf

Browse files
committed
Merge pull request #13 from MabOneSdk/pikumar3
Added Filters ,help message and removed unnecessary fields in response.
2 parents d243ff6 + c9e8906 commit ada31bf

File tree

8 files changed

+54
-66
lines changed

8 files changed

+54
-66
lines changed

src/ResourceManager/AzureBackup/Commands.AzureBackup/AzureBackupCmdletHelpMessage.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,6 @@ internal static class AzureBackupCmdletHelpMessage
2626
public const string ContainerRegistrationStatus = "The container registration status.";
2727
public const string ContainerType = "The container type.";
2828
public const string ContainerResourceGroupName = "The container resource group name.";
29+
public const string ProtectionStatus = "Protection Status of the azure backup item.";
2930
}
3031
}

src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/BackUp/TriggerBackUp.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ public override void ExecuteCmdlet()
4545
MBS.OperationResponse triggerBackUpInfo =
4646
AzureBackupClient.BackUp.TriggerBackUpAsync(GetCustomRequestHeaders(),
4747
AzureBackupItem.ContainerUniqueName,
48-
AzureBackupItem.DataSourceType,
48+
AzureBackupItem.Type,
4949
AzureBackupItem.DataSourceId,
50-
CmdletCancellationToken).Result;
50+
CmdletCancellationToken).Result;
5151

5252
WriteVerbose("Received policy response");
5353
WriteVerbose("Received policy response2");
@@ -77,4 +77,3 @@ public void WriteAzureBackupProtectionPolicy(IEnumerable<MBS.OperationResponse>
7777
}
7878
}
7979
}
80-

src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/DataSource/GetAzureBackupItem.cs

Lines changed: 39 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
using System.Xml;
1919
using System.Linq;
2020
using Microsoft.Azure.Management.BackupServices.Models;
21+
using System.Runtime.Serialization;
2122

2223
namespace Microsoft.Azure.Commands.AzureBackup.Cmdlets
2324
{
@@ -27,9 +28,9 @@ namespace Microsoft.Azure.Commands.AzureBackup.Cmdlets
2728
[Cmdlet(VerbsCommon.Get, "AzureBackupItem"), OutputType(typeof(AzureBackupItem), typeof(List<AzureBackupItem>))]
2829
public class GetAzureBackupItem : AzureBackupContainerCmdletBase
2930
{
30-
[Parameter(Position = 2, Mandatory = false, HelpMessage = AzureBackupCmdletHelpMessage.PolicyName)]
31+
[Parameter(Position = 2, Mandatory = false, HelpMessage = AzureBackupCmdletHelpMessage.ProtectionStatus)]
3132
[ValidateNotNullOrEmpty]
32-
public string Id { get; set; }
33+
public protectionStatus ProtectionStatus { get; set; }
3334

3435
public override void ExecuteCmdlet()
3536
{
@@ -39,23 +40,38 @@ public override void ExecuteCmdlet()
3940
{
4041
WriteVerbose("Making client call");
4142

42-
var azureBackupDatasourceListResponse = AzureBackupClient.DataSource.ListAsync(GetCustomRequestHeaders(), CmdletCancellationToken).Result;
43-
var azureBackupPOListResponse = AzureBackupClient.ProtectableObject. ListAsync(GetCustomRequestHeaders(), CmdletCancellationToken).Result;
43+
DataSourceQueryParameter dsQueryParameter = new DataSourceQueryParameter()
44+
{
45+
ContainerName = AzureBackupContainer.ContainerName
46+
};
47+
48+
POQueryParameter pOQueryParameter = new POQueryParameter()
49+
{
50+
Status = this.ProtectionStatus.ToString()
51+
};
52+
53+
var azureBackupDatasourceListResponse = AzureBackupClient.DataSource.ListAsync(dsQueryParameter,GetCustomRequestHeaders(), CmdletCancellationToken).Result;
54+
var azureBackupPOListResponse = AzureBackupClient.ProtectableObject. ListAsync(pOQueryParameter, GetCustomRequestHeaders(), CmdletCancellationToken).Result;
4455

4556
WriteVerbose("Received policy response");
4657
WriteVerbose("Received policy response2");
47-
IEnumerable<DataSourceInfo> azureBackupDatasourceObjects = null;
48-
IEnumerable<ProtectableObjectInfo> azureBackupPOObjects = null;
58+
List<DataSourceInfo> azureBackupDatasourceObjects = null;
59+
List<ProtectableObjectInfo> azureBackupPOObjects = null;
4960

50-
if (Id != null)
51-
{
52-
azureBackupDatasourceObjects = azureBackupDatasourceListResponse.DataSources.Objects.Where(x => x.InstanceId.Equals(Id, System.StringComparison.InvariantCultureIgnoreCase));
53-
azureBackupPOObjects = azureBackupPOListResponse.ProtectableObject.Objects.Where(x => x.InstanceId.Equals(Id, System.StringComparison.InvariantCultureIgnoreCase));
54-
}
55-
else
61+
azureBackupDatasourceObjects = azureBackupDatasourceListResponse.DataSources.Objects.ToList();
62+
azureBackupPOObjects = azureBackupPOListResponse.ProtectableObject.Objects.Where(x => x.ContainerName.Equals(AzureBackupContainer.ContainerName, System.StringComparison.InvariantCultureIgnoreCase)).ToList();
63+
64+
//If user has stopped protection for some datasoure then we will have duplicate items(po and ds).
65+
//So in this case removing poitem.
66+
foreach (var DSItem in azureBackupDatasourceObjects)
5667
{
57-
azureBackupDatasourceObjects = azureBackupDatasourceListResponse.DataSources.Objects;
58-
azureBackupPOObjects = azureBackupPOListResponse.ProtectableObject.Objects;
68+
foreach(var POItem in azureBackupPOObjects)
69+
{
70+
if(DSItem.ProtectableObjectName == POItem.Name)
71+
{
72+
azureBackupPOObjects.Remove(POItem);
73+
}
74+
}
5975
}
6076

6177
WriteVerbose("Converting response");
@@ -68,7 +84,7 @@ public void WriteAzureBackupProtectionPolicy(DataSourceInfo sourceItem, AzureBac
6884
this.WriteObject(new AzureBackupItem(sourceItem, azureBackupItem));
6985
}
7086

71-
public void WriteAzureBackupProtectionPolicy(IEnumerable<DataSourceInfo> sourceDataSourceList,IEnumerable<ProtectableObjectInfo> sourcePOList, AzureBackupContainer azureBackupContainer)
87+
public void WriteAzureBackupProtectionPolicy(List<DataSourceInfo> sourceDataSourceList, List<ProtectableObjectInfo> sourcePOList, AzureBackupContainer azureBackupContainer)
7288
{
7389
List<AzureBackupItem> targetList = new List<AzureBackupItem>();
7490

@@ -85,5 +101,13 @@ public void WriteAzureBackupProtectionPolicy(IEnumerable<DataSourceInfo> sourceD
85101
this.WriteObject(targetList, true);
86102
}
87103

104+
public enum protectionStatus
105+
{
106+
[EnumMember]
107+
NotProtected = 0,
108+
109+
[EnumMember]
110+
Protected,
111+
}
88112
}
89113
}

src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/RecoveryPoint/GetAzureBackupRecoveryPoint.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ public override void ExecuteCmdlet()
4141

4242
RecoveryPointListResponse recoveryPointListResponse =
4343
AzureBackupClient.RecoveryPoint.ListAsync(GetCustomRequestHeaders(),
44-
AzureBackupItem.ContainerName,
45-
AzureBackupItem.DataSourceType,
44+
AzureBackupItem.ContainerUniqueName,
45+
AzureBackupItem.Type,
4646
AzureBackupItem.DataSourceId,
4747
CmdletCancellationToken).Result;
4848

src/ResourceManager/AzureBackup/Commands.AzureBackup/Commands.AzureBackup.csproj

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,6 @@
4343
<Prefer32Bit>false</Prefer32Bit>
4444
</PropertyGroup>
4545
<ItemGroup>
46-
<Reference Include="BackupManagementInterface, Version=1.0.523.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
47-
<SpecificVersion>False</SpecificVersion>
48-
<HintPath>Resources\BackupManagementInterface.dll</HintPath>
49-
</Reference>
50-
<Reference Include="BMSCommonInterface, Version=1.0.523.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
51-
<SpecificVersion>False</SpecificVersion>
52-
<HintPath>Resources\BMSCommonInterface.dll</HintPath>
53-
</Reference>
5446
<Reference Include="Hyak.Common">
5547
<HintPath>..\..\..\packages\Hyak.Common.1.0.2\lib\portable-net403+win+wpa81\Hyak.Common.dll</HintPath>
5648
</Reference>
@@ -177,8 +169,6 @@
177169
</EmbeddedResource>
178170
</ItemGroup>
179171
<ItemGroup>
180-
<Content Include="Resources\BackupManagementInterface.dll" />
181-
<Content Include="Resources\BMSCommonInterface.dll" />
182172
<Content Include="Resources\Microsoft.WindowsAzure.Management.Common.dll" />
183173
<Content Include="Resources\Security.Cryptography.dll" />
184174
</ItemGroup>

src/ResourceManager/AzureBackup/Commands.AzureBackup/Models/AzureBackupBaseObjects.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public class AzureBackupItemContextObject : AzureBackupContainerContextObject
9090
/// <summary>
9191
/// DataSourceId of Azure Backup Item
9292
/// </summary>
93-
public string DataSourceType { get; set; }
93+
public string Type { get; set; }
9494

9595
public AzureBackupItemContextObject()
9696
: base()
@@ -101,20 +101,20 @@ public AzureBackupItemContextObject(AzureBackupItemContextObject azureBackupItem
101101
: base(azureBackupItemContextObject)
102102
{
103103
DataSourceId = azureBackupItemContextObject.DataSourceId;
104-
DataSourceType = azureBackupItemContextObject.DataSourceType;
104+
Type = azureBackupItemContextObject.Type;
105105
}
106106

107107
public AzureBackupItemContextObject(DataSourceInfo item, AzureBackupContainer azureBackupContainer)
108108
: base(azureBackupContainer)
109109
{
110110
DataSourceId = item.InstanceId;
111-
DataSourceType = item.Type;
111+
Type = item.Type;
112112
}
113113

114114
public AzureBackupItemContextObject(ProtectableObjectInfo item, AzureBackupContainer azureBackupContainer)
115115
: base(azureBackupContainer)
116116
{
117-
DataSourceType = item.Type;
117+
Type = item.Type;
118118
}
119119
}
120120
}

src/ResourceManager/AzureBackup/Commands.AzureBackup/Models/AzureBackupContainer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// ----------------------------------------------------------------------------------
1+
// ----------------------------------------------------------------------------------
22
//
33
// Copyright Microsoft Corporation
44
// Licensed under the Apache License, Version 2.0 (the "License");

src/ResourceManager/AzureBackup/Commands.AzureBackup/Models/AzureBackupItem.cs

Lines changed: 5 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public class AzureBackupItem : AzureBackupItemContextObject
2929
/// <summary>
3030
/// Status for the Azure Backup Item
3131
/// </summary>
32-
public string Status { get; set; }
32+
public string DataSourceStatus { get; set; }
3333

3434
/// <summary>
3535
/// Protection Status for the Azure Backup Item
@@ -39,7 +39,7 @@ public class AzureBackupItem : AzureBackupItemContextObject
3939
/// <summary>
4040
/// Protectable Object Name for the Azure Backup Item
4141
/// </summary>
42-
public string ProtectableObjectName { get; set; }
42+
public string Name { get; set; }
4343

4444
/// <summary>
4545
/// Protection Policy Name for the Azure Backup Item
@@ -51,11 +51,6 @@ public class AzureBackupItem : AzureBackupItemContextObject
5151
/// </summary>
5252
public string ProtectionPolicyId { get; set; }
5353

54-
/// <summary>
55-
/// Policy Inconsistent for the Azure Backup Item
56-
/// </summary>
57-
public bool PolicyInconsistent { get; set; }
58-
5954
/// <summary>
6055
/// Recovery Points Count for the Azure Backup Item
6156
/// </summary>
@@ -64,22 +59,6 @@ public class AzureBackupItem : AzureBackupItemContextObject
6459
/// <summary>
6560
/// Last Recovery Point for the Azure Backup Item
6661
/// </summary>
67-
public DateTime? LastRecoveryPoint { get; set; }
68-
69-
/// <summary>
70-
/// Last Backup Time for the Azure Backup Item
71-
/// </summary>
72-
public DateTime? LastBackupTime { get; set; }
73-
74-
/// <summary>
75-
/// Last Backup Status for the Azure Backup Item
76-
/// </summary>
77-
public string LastBackupStatus { get; set; }
78-
79-
/// <summary>
80-
/// Last Backup Job Id for the Azure Backup Item
81-
/// </summary>
82-
public string LastBackupJobId { get; set; }
8362

8463
public AzureBackupItem()
8564
: base()
@@ -89,24 +68,19 @@ public AzureBackupItem()
8968
public AzureBackupItem(DataSourceInfo datasource, AzureBackupContainer azureBackupContainer)
9069
: base(datasource, azureBackupContainer)
9170
{
92-
Status = datasource.Status;
71+
DataSourceStatus = datasource.Status;
9372
ProtectionStatus = datasource.ProtectionStatus;
94-
ProtectableObjectName = datasource.ProtectableObjectName;
73+
Name = datasource.Name;
9574
ProtectionPolicyName = datasource.ProtectionPolicyName;
9675
ProtectionPolicyId = datasource.ProtectionPolicyId;
97-
PolicyInconsistent = datasource.PolicyInconsistent;
9876
RecoveryPointsCount = datasource.RecoveryPointsCount;
99-
LastRecoveryPoint = datasource.LastRecoveryPoint;
100-
LastBackupTime = datasource.LastBackupTime;
101-
LastBackupStatus = datasource.LastBackupStatus;
102-
LastBackupJobId = datasource.LastBackupJobId;
10377
}
10478

10579
public AzureBackupItem(ProtectableObjectInfo pPOItem, AzureBackupContainer azureBackupContainer)
10680
: base(pPOItem, azureBackupContainer)
10781
{
10882
ProtectionStatus = pPOItem.ProtectionStatus;
109-
ProtectableObjectName = pPOItem.Name;
83+
Name = pPOItem.Name;
11084
}
11185
}
11286
}

0 commit comments

Comments
 (0)