Skip to content

Commit 884be49

Browse files
committed
Merge pull request #279 from MabOneSdk/pikumar-dev1
Pikumar dev1
2 parents f4536e9 + 75a3e44 commit 884be49

File tree

8 files changed

+49
-9
lines changed

8 files changed

+49
-9
lines changed

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Helpers/Conversions/ConversionHelpers.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ public static AzureRmRecoveryServicesBackupEngineBase GetBackupEngineModel(Backu
5757
{
5858
backupEngineModel = new AzureRmRecoveryServicesDpmBackupEngine(backupEngine);
5959
}
60+
else if (backupEngine.Properties.GetType() == (typeof(AzureBackupServerEngine)))
61+
{
62+
backupEngineModel = new AzureRmRecoveryServicesAzureBackupServerEngine(backupEngine);
63+
}
6064
}
6165

6266
return backupEngineModel;

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Models/CommonModels/Enums.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ public enum BackupManagementType
3131
{
3232
AzureVM = 1,
3333
MARS,
34-
SCDPM
34+
SCDPM,
35+
AzureBackupServer,
3536
}
3637

3738
public enum BackupEngineType

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Models/CommonModels/Utils.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,8 @@ Microsoft.Azure.Management.RecoveryServices.Backup.Models.BackupManagementType p
139139
return BackupManagementType.MARS;
140140
case Microsoft.Azure.Management.RecoveryServices.Backup.Models.BackupManagementType.DPM:
141141
return BackupManagementType.SCDPM;
142+
case Microsoft.Azure.Management.RecoveryServices.Backup.Models.BackupManagementType.AzureBackupServer:
143+
return BackupManagementType.AzureBackupServer;
142144
default:
143145
throw new Exception("Unsupported BackupManagmentType: " + backupManagementType);
144146
}

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Models/DpmModels/AzureRmRecoveryServicesDpmBackupEngine.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,25 @@ public AzureRmRecoveryServicesDpmBackupEngine(BackupEngineResource backupEngine)
4141
Status = dpmBackupEngine.RegistrationStatus;
4242
}
4343
}
44+
45+
public class AzureRmRecoveryServicesAzureBackupServerEngine : AzureRmRecoveryServicesBackupEngineBase
46+
{
47+
/// <summary>
48+
/// Friendly name of the container
49+
/// </summary>
50+
public string FriendlyName { get; set; }
51+
52+
/// <summary>
53+
/// Registration Status
54+
/// </summary>
55+
public string Status { get; set; }
56+
57+
public AzureRmRecoveryServicesAzureBackupServerEngine(BackupEngineResource backupEngine)
58+
: base(backupEngine)
59+
{
60+
AzureBackupServerEngine azureBackupServerEngine = (AzureBackupServerEngine)backupEngine.Properties;
61+
FriendlyName = azureBackupServerEngine.FriendlyName;
62+
Status = azureBackupServerEngine.RegistrationStatus;
63+
}
64+
}
4465
}

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Providers/Providers/DpmPsBackupProvider.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,6 @@ public ProtectionPolicyResponse ModifyPolicy()
9191

9292
BackupEngineListQueryParams queryParams = new BackupEngineListQueryParams();
9393

94-
queryParams.BackupManagementType = Microsoft.Azure.Management.RecoveryServices.Backup.Models.BackupManagementType.DPM.ToString();
95-
9694
var listResponse = HydraAdapter.ListBackupEngines(queryParams);
9795

9896
List<AzureRmRecoveryServicesBackupEngineBase> backupEngineModels = ConversionHelpers.GetBackupEngineModelList(listResponse);

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Providers/PsBackupProviderManager.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,10 @@ public IPsBackupProvider GetProviderInstance(ContainerType containerType, Backup
4444
switch (containerType)
4545
{
4646
case ContainerType.AzureVM:
47-
providerType = PsBackupProviderTypes.IaasVm;
47+
if (backupManagementType == BackupManagementType.AzureVM || backupManagementType == null)
48+
providerType = PsBackupProviderTypes.IaasVm;
49+
else
50+
throw new ArgumentException(String.Format(Resources.BackupManagementTypeRequiredForContainerType, containerType));
4851
break;
4952
case ContainerType.Windows:
5053
if (backupManagementType == BackupManagementType.MARS)

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup/Cmdlets/Container/GetAzureRmRecoveryServicesBackupContainer.cs

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ public class GetAzureRmRecoveryServicesBackupContainer : RecoveryServicesBackupC
3636

3737
[Parameter(Mandatory = false, Position = 2, HelpMessage = ParamHelpMsg.Container.BackupManagementType)]
3838
[ValidateNotNullOrEmpty]
39-
public BackupManagementType BackupManagementType { get; set; }
39+
[ValidateSet("AzureVM", "MARS")]
40+
public string BackupManagementType { get; set; }
4041

4142
[Parameter(Mandatory = false, Position = 3, HelpMessage = ParamHelpMsg.Container.Name)]
4243
[ValidateNotNullOrEmpty]
@@ -56,16 +57,24 @@ public override void ExecuteCmdlet()
5657
{
5758
base.ExecuteCmdlet();
5859

60+
BackupManagementType? backupManagementTypeNullable = null;
61+
BackupManagementType backupManagementType;
62+
if (BackupManagementType != null)
63+
{
64+
Enum.TryParse<BackupManagementType>(BackupManagementType, out backupManagementType);
65+
backupManagementTypeNullable = backupManagementType;
66+
}
67+
5968
PsBackupProviderManager providerManager = new PsBackupProviderManager(new Dictionary<System.Enum, object>()
6069
{
6170
{ContainerParams.ContainerType, ContainerType},
62-
{ContainerParams.BackupManagementType, BackupManagementType},
71+
{ContainerParams.BackupManagementType, backupManagementTypeNullable},
6372
{ContainerParams.Name, Name},
6473
{ContainerParams.ResourceGroupName, ResourceGroupName},
6574
{ContainerParams.Status, Status},
6675
}, HydraAdapter);
6776

68-
IPsBackupProvider psBackupProvider = providerManager.GetProviderInstance(ContainerType, BackupManagementType);
77+
IPsBackupProvider psBackupProvider = providerManager.GetProviderInstance(ContainerType, backupManagementTypeNullable);
6978
var containerModels = psBackupProvider.ListProtectionContainers();
7079

7180
if (containerModels.Count == 1)

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup/Cmdlets/Container/UnregisterAzureRmRecoveryServicesBackupManagementServer.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,10 @@ public override void ExecuteCmdlet()
3838
{
3939
base.ExecuteCmdlet();
4040

41-
if ((AzureRmBackupManagementServer.BackupEngineType != BackupEngineType.DpmBackupEngine.ToString() && AzureRmBackupManagementServer.BackupEngineType != BackupEngineType.AzureBackupServerEngine.ToString())||
42-
AzureRmBackupManagementServer.BackupManagementType != BackupManagementType.SCDPM)
41+
if ((AzureRmBackupManagementServer.BackupEngineType != BackupEngineType.DpmBackupEngine.ToString() &&
42+
AzureRmBackupManagementServer.BackupEngineType != BackupEngineType.AzureBackupServerEngine.ToString())||
43+
AzureRmBackupManagementServer.BackupManagementType.ToString() != BackupManagementType.SCDPM.ToString() &&
44+
AzureRmBackupManagementServer.BackupManagementType.ToString() != BackupManagementType.AzureBackupServer.ToString())
4345
{
4446
throw new ArgumentException(String.Format(Resources.UnsupportedAzureRmBackupManagementServerException, AzureRmBackupManagementServer.BackupEngineType, AzureRmBackupManagementServer.BackupManagementType));
4547
}

0 commit comments

Comments
 (0)