Skip to content

Commit 189b3f8

Browse files
committed
PS Model for ProtectedItem
1 parent e9305db commit 189b3f8

File tree

3 files changed

+82
-14
lines changed

3 files changed

+82
-14
lines changed

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Models/AzureVmModels/AzureRmRecoveryServicesAzureVmContainer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class AzureRmRecoveryServicesIaasVmContainer : AzureRmRecoveryServicesCon
3434
public string Status { get; set; }
3535

3636
public AzureRmRecoveryServicesIaasVmContainer(ProtectionContainerResource protectionContainer)
37-
: base(protectionContainer)
37+
: base(protectionContainer.Properties as ProtectionContainer)
3838
{
3939
AzureIaaSVMProtectionContainer iaasVmProtectionContainer = (AzureIaaSVMProtectionContainer)protectionContainer.Properties;
4040
ContainerType = ContainerType.AzureVM;

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Models/AzureVmModels/AzureRmRecoveryServicesAzureVmItem.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
using System.Linq;
1818
using System.Text;
1919
using System.Threading.Tasks;
20+
using Microsoft.Azure.Management.RecoveryServices.Backup.Models;
2021

2122
namespace Microsoft.Azure.Commands.RecoveryServices.Backup.Cmdlets.Models
2223
{
@@ -51,12 +52,19 @@ public class AzureRmRecoveryServicesIaasVmItem : AzureRmRecoveryServicesItemBase
5152
/// ExtendedInfo for the Item
5253
/// </summary
5354
public AzureRmRecoveryServicesIaasVmItemExtendedInfo ExtendedInfo { get; set; }
55+
56+
public AzureRmRecoveryServicesIaasVmItem(AzureIaaSVMProtectedItem protectedItem,
57+
AzureRmRecoveryServicesContainerBase container)
58+
: base(protectedItem, container)
59+
{
60+
61+
}
5462
}
5563

5664
/// <summary>
5765
/// Represents IaaSVM Item ExtendedInfo Class
5866
/// </summary>
59-
public class AzureRmRecoveryServicesIaasVmItemExtendedInfo : AzureRmRecoveryServicesItemExtendedInfo
67+
public class AzureRmRecoveryServicesIaasVmItemExtendedInfo : AzureRmRecoveryServicesItemExtendedInfoBase
6068
{
6169
/// <summary>
6270
/// Oldest Recovery Point for the Item

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Models/BaseObjects.cs

Lines changed: 72 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,45 @@ public virtual void Validate()
2929
}
3030
}
3131

32-
public class AzureRmRecoveryServicesContainerBase : AzureRmRecoveryServicesObjectBase
32+
/// <summary>
33+
/// Represents Recovery Services Vault Credentials Class
34+
/// </summary>
35+
public class AzureRmRecoveryServicesVaultCreds : AzureRmRecoveryServicesObjectBase
36+
{
37+
/// <summary>
38+
/// Name of the recovery services vault
39+
/// </summary>
40+
public string ResourceName { get; set; }
41+
42+
/// <summary>
43+
/// Name of the resource group
44+
/// </summary>
45+
public string ResourceGroupName { get; set; }
46+
47+
/// <summary>
48+
/// Location of the recovery services vault
49+
/// </summary>
50+
public string Location { get; set; }
51+
52+
public AzureRmRecoveryServicesVaultCreds(string resourceName, string resourceGroupName, string location)
53+
{
54+
ResourceName = resourceName;
55+
ResourceGroupName = resourceGroupName;
56+
Location = location;
57+
}
58+
}
59+
60+
public class AzureRmRecoveryServicesContainerContext : AzureRmRecoveryServicesObjectBase
61+
{
62+
public ContainerType ContainerType { get; set; }
63+
64+
public AzureRmRecoveryServicesContainerContext(string containerType)
65+
{
66+
67+
}
68+
}
69+
70+
public class AzureRmRecoveryServicesContainerBase : AzureRmRecoveryServicesContainerContext
3371
{
3472
/// <summary>
3573
/// Container Name
@@ -38,48 +76,70 @@ public class AzureRmRecoveryServicesContainerBase : AzureRmRecoveryServicesObjec
3876

3977
public ContainerType ContainerType { get; set; }
4078

41-
public AzureRmRecoveryServicesContainerBase(ProtectionContainerResource protectionContainer)
79+
public AzureRmRecoveryServicesContainerBase(ProtectionContainer protectionContainer)
80+
: base(protectionContainer.ContainerType)
4281
{
43-
Name = protectionContainer.Name;
82+
Name = protectionContainer.FriendlyName;
83+
4484
}
4585
}
4686

4787
/// <summary>
48-
/// Represents Azure Backup Item Base Class
88+
/// Represents Azure Backup Item Context Class
4989
/// </summary>
50-
public class AzureRmRecoveryServicesItemBase : AzureRmRecoveryServicesObjectBase
90+
public class AzureRmRecoveryServicesItemContext : AzureRmRecoveryServicesContainerContext
5191
{
5292
/// <summary>
53-
/// Unique Name for the Item
93+
/// BackupManagementType for the protected Item
5494
/// </summary>
55-
public string Name { get; set; }
95+
public BackupManagementType BackupManagementType { get; set; }
5696

5797
/// <summary>
5898
/// Workload Type of Item
5999
/// </summary>
60-
public string WorkloadType { get; set; }
100+
public WorkloadType WorkloadType { get; set; }
61101

62102
/// <summary>
63103
/// Unique name of the Container
64104
/// </summary>
65105
public string ContainerName { get; set; }
66106

107+
public AzureRmRecoveryServicesItemContext(ProtectedItem protectedItem,
108+
AzureRmRecoveryServicesContainerBase container)
109+
: base(container.ContainerType.ToString())
110+
{
111+
112+
}
113+
}
114+
115+
/// <summary>
116+
/// Represents Azure Backup Item Base Class
117+
/// </summary>
118+
public class AzureRmRecoveryServicesItemBase : AzureRmRecoveryServicesItemContext
119+
{
67120
/// <summary>
68-
/// Type of the container
121+
/// Friendly Name for the Item
69122
/// </summary>
70-
public string ContainerType { get; set; }
123+
public string Name { get; set; }
71124

72125
/// <summary>
73126
/// Last Recovery Point for the item
74127
/// </summary>
75128
public DateTime? LastRecoveryPoint { get; set; }
129+
130+
public AzureRmRecoveryServicesItemBase(ProtectedItem protectedItem,
131+
AzureRmRecoveryServicesContainerBase container)
132+
: base(protectedItem, container)
133+
{
134+
135+
}
76136
}
77137

78138
/// <summary>
79139
/// Represents Azure Backup Item ExtendedInfo Base Class
80140
/// </summary>
81-
public class AzureRmRecoveryServicesItemExtendedInfo : AzureRmRecoveryServicesItemBase
82-
{
141+
public class AzureRmRecoveryServicesItemExtendedInfoBase : AzureRmRecoveryServicesObjectBase
142+
{
83143
}
84144

85145
public class AzureRmRecoveryServicesRecoveryPointBase : AzureRmRecoveryServicesObjectBase

0 commit comments

Comments
 (0)