From 09ef610f70978200761699d09e9ed55bd0ffcc02 Mon Sep 17 00:00:00 2001 From: dragonfly91 Date: Tue, 29 Sep 2015 16:27:18 +0530 Subject: [PATCH 1/4] Fix for Bug 4751044:Get-AzureRMBackupContainer will fail in older PSH versions with Venus addition --- .../Helpers/ContainerHelpers.cs | 32 ++++++------------- 1 file changed, 10 insertions(+), 22 deletions(-) diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Helpers/ContainerHelpers.cs b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Helpers/ContainerHelpers.cs index 67d011686ac0..240b30be51db 100644 --- a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Helpers/ContainerHelpers.cs +++ b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Helpers/ContainerHelpers.cs @@ -40,31 +40,19 @@ internal class ContainerHelpers internal static AzureBackupContainerType GetContainerType(string customerType) { - CustomerType type = (CustomerType)Enum.Parse(typeof(CustomerType), customerType); - AzureBackupContainerType containerType = 0; - switch (type) + if (string.Compare(customerType, CustomerType.DPM.ToString()) == 0) { - case CustomerType.DPM: - containerType = AzureBackupContainerType.SCDPM; - break; - case CustomerType.InMage: - break; - case CustomerType.Invalid: - break; - case CustomerType.ManagedContainer: - break; - case CustomerType.OBS: - containerType = AzureBackupContainerType.Windows; - break; - case CustomerType.SBS: - containerType = AzureBackupContainerType.Windows; - break; - case CustomerType.SqlPaaS: - break; - default: - break; + containerType = AzureBackupContainerType.SCDPM; + } + else if (string.Compare(customerType, CustomerType.OBS.ToString()) == 0) + { + containerType = AzureBackupContainerType.Windows; + } + else if (string.Compare(customerType, CustomerType.SBS.ToString()) == 0) + { + containerType = AzureBackupContainerType.Windows; } return containerType; From c2fd9edc1072fb0e1b27f3ab1418959c70f910dc Mon Sep 17 00:00:00 2001 From: dragonfly91 Date: Tue, 29 Sep 2015 18:08:41 +0530 Subject: [PATCH 2/4] Taking dependency on BackupServicesManagement nuget version 1.0.5 --- .../Commands.AzureBackup.Test/Commands.AzureBackup.Test.csproj | 3 ++- .../AzureBackup/Commands.AzureBackup.Test/packages.config | 2 +- .../Commands.AzureBackup/Commands.AzureBackup.csproj | 3 ++- .../AzureBackup/Commands.AzureBackup/packages.config | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup.Test/Commands.AzureBackup.Test.csproj b/src/ResourceManager/AzureBackup/Commands.AzureBackup.Test/Commands.AzureBackup.Test.csproj index 3e5033a2462f..e6de3e29ac97 100644 --- a/src/ResourceManager/AzureBackup/Commands.AzureBackup.Test/Commands.AzureBackup.Test.csproj +++ b/src/ResourceManager/AzureBackup/Commands.AzureBackup.Test/Commands.AzureBackup.Test.csproj @@ -40,7 +40,8 @@ True - ..\..\..\packages\Microsoft.Azure.Management.BackupServices.1.0.4-preview\lib\net40\Microsoft.Azure.Management.BackupServicesManagement.dll + False + ..\..\..\packages\Microsoft.Azure.Management.BackupServices.1.0.5-preview\lib\net40\Microsoft.Azure.Management.BackupServicesManagement.dll False diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup.Test/packages.config b/src/ResourceManager/AzureBackup/Commands.AzureBackup.Test/packages.config index 24eeae4af6aa..d0d223c6e304 100644 --- a/src/ResourceManager/AzureBackup/Commands.AzureBackup.Test/packages.config +++ b/src/ResourceManager/AzureBackup/Commands.AzureBackup.Test/packages.config @@ -4,7 +4,7 @@ - + diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Commands.AzureBackup.csproj b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Commands.AzureBackup.csproj index c6a6460dfc96..aec29b762da4 100644 --- a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Commands.AzureBackup.csproj +++ b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Commands.AzureBackup.csproj @@ -57,7 +57,8 @@ ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll - ..\..\..\packages\Microsoft.Azure.Management.BackupServices.1.0.4-preview\lib\net40\Microsoft.Azure.Management.BackupServicesManagement.dll + False + ..\..\..\packages\Microsoft.Azure.Management.BackupServices.1.0.5-preview\lib\net40\Microsoft.Azure.Management.BackupServicesManagement.dll False diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup/packages.config b/src/ResourceManager/AzureBackup/Commands.AzureBackup/packages.config index ec875e2b5092..eec44ee711d4 100644 --- a/src/ResourceManager/AzureBackup/Commands.AzureBackup/packages.config +++ b/src/ResourceManager/AzureBackup/Commands.AzureBackup/packages.config @@ -4,7 +4,7 @@ - + From 2a82837b22f310acfb4e907553f9c6c823c0d383 Mon Sep 17 00:00:00 2001 From: dragonfly91 Date: Thu, 1 Oct 2015 16:56:55 +0530 Subject: [PATCH 3/4] Implemented PR comments --- ...bleAzureRMBackupContainerReregistration.cs | 1 + .../Container/GetAzureRMBackupContainer.cs | 1 + .../UnregisterAzureRMBackupContainer.cs | 1 + .../Helpers/ContainerHelpers.cs | 34 ++++++++++++++----- .../Models/AzureBackupEnums.cs | 2 ++ 5 files changed, 30 insertions(+), 9 deletions(-) diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/EnableAzureRMBackupContainerReregistration.cs b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/EnableAzureRMBackupContainerReregistration.cs index 7918dc778980..2d222cdb61b6 100644 --- a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/EnableAzureRMBackupContainerReregistration.cs +++ b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/EnableAzureRMBackupContainerReregistration.cs @@ -46,6 +46,7 @@ protected override void ProcessRecord() { case AzureBackupContainerType.Windows: case AzureBackupContainerType.SCDPM: + case AzureBackupContainerType.AzureBackupServer: AzureBackupClient.EnableMachineContainerReregistration(Container.ResourceGroupName, Container.ResourceName, Container.Id); break; default: diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/GetAzureRMBackupContainer.cs b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/GetAzureRMBackupContainer.cs index 35c2d8e30b15..46e606f99f00 100644 --- a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/GetAzureRMBackupContainer.cs +++ b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/GetAzureRMBackupContainer.cs @@ -60,6 +60,7 @@ protected override void ProcessRecord() { case AzureBackupContainerType.Windows: case AzureBackupContainerType.SCDPM: + case AzureBackupContainerType.AzureBackupServer: containers.AddRange(GetMachineContainers(Vault.ResourceGroupName, Vault.Name)); break; case AzureBackupContainerType.AzureVM: diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/UnregisterAzureRMBackupContainer.cs b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/UnregisterAzureRMBackupContainer.cs index fd3bf7d509f4..15a8a0eddf05 100644 --- a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/UnregisterAzureRMBackupContainer.cs +++ b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/UnregisterAzureRMBackupContainer.cs @@ -47,6 +47,7 @@ protected override void ProcessRecord() { case AzureBackupContainerType.Windows: case AzureBackupContainerType.SCDPM: + case AzureBackupContainerType.AzureBackupServer: DeleteServer(); break; case AzureBackupContainerType.AzureVM: diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Helpers/ContainerHelpers.cs b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Helpers/ContainerHelpers.cs index 240b30be51db..b0fa09138368 100644 --- a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Helpers/ContainerHelpers.cs +++ b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Helpers/ContainerHelpers.cs @@ -38,21 +38,37 @@ internal class ContainerHelpers { private static readonly Regex ResourceGroupRegex = new Regex(@"/subscriptions/(?.+)/resourceGroups/(?.+)/providers/(?.+)/BackupVault/(?.+)/containers/(?.+)", RegexOptions.Compiled); - internal static AzureBackupContainerType GetContainerType(string customerType) + internal static AzureBackupContainerType GetContainerType(string customerTypeString) { AzureBackupContainerType containerType = 0; + CustomerType customerType = CustomerType.Invalid; - if (string.Compare(customerType, CustomerType.DPM.ToString()) == 0) + if (Enum.TryParse(customerTypeString, out customerType)) { - containerType = AzureBackupContainerType.SCDPM; - } - else if (string.Compare(customerType, CustomerType.OBS.ToString()) == 0) - { - containerType = AzureBackupContainerType.Windows; + switch (customerType) + { + case CustomerType.DPM: + containerType = AzureBackupContainerType.SCDPM; + break; + case CustomerType.OBS: + containerType = AzureBackupContainerType.Windows; + break; + case CustomerType.SBS: + containerType = AzureBackupContainerType.Windows; + break; + case CustomerType.DPMVenus: + containerType = AzureBackupContainerType.AzureBackupServer; + break; + case CustomerType.Invalid: + break; + default: + containerType = AzureBackupContainerType.Other; + break; + } } - else if (string.Compare(customerType, CustomerType.SBS.ToString()) == 0) + else if (!string.IsNullOrEmpty(customerTypeString)) { - containerType = AzureBackupContainerType.Windows; + containerType = AzureBackupContainerType.Other; } return containerType; diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Models/AzureBackupEnums.cs b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Models/AzureBackupEnums.cs index a4c6156f6d8c..a5e33721c26c 100644 --- a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Models/AzureBackupEnums.cs +++ b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Models/AzureBackupEnums.cs @@ -25,6 +25,8 @@ public enum AzureBackupContainerType Windows = 1, SCDPM, AzureVM, + AzureBackupServer, + Other, } public enum DataSourceType From 3b10c322e3f1c2de7324a442422a6a32b7fd7c5e Mon Sep 17 00:00:00 2001 From: dragonfly91 Date: Thu, 1 Oct 2015 19:59:40 +0530 Subject: [PATCH 4/4] Adding 'Other' type support to EnableReregister, Get and Unregister cmdlets --- .../Container/EnableAzureRMBackupContainerReregistration.cs | 1 + .../Cmdlets/Container/GetAzureRMBackupContainer.cs | 1 + .../Cmdlets/Container/UnregisterAzureRMBackupContainer.cs | 1 + 3 files changed, 3 insertions(+) diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/EnableAzureRMBackupContainerReregistration.cs b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/EnableAzureRMBackupContainerReregistration.cs index 2d222cdb61b6..24b170af1d89 100644 --- a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/EnableAzureRMBackupContainerReregistration.cs +++ b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/EnableAzureRMBackupContainerReregistration.cs @@ -47,6 +47,7 @@ protected override void ProcessRecord() case AzureBackupContainerType.Windows: case AzureBackupContainerType.SCDPM: case AzureBackupContainerType.AzureBackupServer: + case AzureBackupContainerType.Other: AzureBackupClient.EnableMachineContainerReregistration(Container.ResourceGroupName, Container.ResourceName, Container.Id); break; default: diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/GetAzureRMBackupContainer.cs b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/GetAzureRMBackupContainer.cs index 46e606f99f00..1bb691991d18 100644 --- a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/GetAzureRMBackupContainer.cs +++ b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/GetAzureRMBackupContainer.cs @@ -61,6 +61,7 @@ protected override void ProcessRecord() case AzureBackupContainerType.Windows: case AzureBackupContainerType.SCDPM: case AzureBackupContainerType.AzureBackupServer: + case AzureBackupContainerType.Other: containers.AddRange(GetMachineContainers(Vault.ResourceGroupName, Vault.Name)); break; case AzureBackupContainerType.AzureVM: diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/UnregisterAzureRMBackupContainer.cs b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/UnregisterAzureRMBackupContainer.cs index 15a8a0eddf05..e4a09401574f 100644 --- a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/UnregisterAzureRMBackupContainer.cs +++ b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Container/UnregisterAzureRMBackupContainer.cs @@ -48,6 +48,7 @@ protected override void ProcessRecord() case AzureBackupContainerType.Windows: case AzureBackupContainerType.SCDPM: case AzureBackupContainerType.AzureBackupServer: + case AzureBackupContainerType.Other: DeleteServer(); break; case AzureBackupContainerType.AzureVM: