Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@

namespace Microsoft.Azure.Commands.RecoveryServices.Backup.Cmdlets.ProviderModel
{
/// <summary>
/// This interface contains methods
/// which needs to be implemented by different providers.
/// </summary>
public interface IPsBackupProvider
{
void Initialize(Dictionary<System.Enum, object> providerData, ServiceClientAdapter serviceClientAdapter);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,14 @@ namespace Microsoft.Azure.Commands.RecoveryServices.Backup.Cmdlets.ProviderModel
/// </summary>
public class PsBackupProviderManager
{
/// <summary>
/// Dictionary of cmdlet param enums and provider specific objects.
/// </summary>
Dictionary<System.Enum, object> providerData;

/// <summary>
/// Service client adapter object.
/// </summary>
ServiceClientAdapter serviceClientAdapter;

public PsBackupProviderManager(Dictionary<System.Enum, object> providerDataIn, ServiceClientAdapter serviceClientAdapterIn)
Expand Down Expand Up @@ -83,11 +90,17 @@ public IPsBackupProvider GetProviderInstance
return GetProviderInstance(providerType);
}

/// <summary>
/// To get provider instance for backup management server.
/// </summary>
public IPsBackupProvider GetProviderInstanceForBackupManagementServer()
{
return GetProviderInstance(PsBackupProviderTypes.Dpm);
}

/// <summary>
/// To get provider instance using workload type.
/// </summary>
public IPsBackupProvider GetProviderInstance(WorkloadType workloadType)
{
PsBackupProviderTypes providerType = 0;
Expand All @@ -106,11 +119,17 @@ public IPsBackupProvider GetProviderInstance(WorkloadType workloadType)
return GetProviderInstance(providerType);
}

/// <summary>
/// To get provider instance using container type.
/// </summary>
public IPsBackupProvider GetProviderInstance(ContainerType containerType)
{
throw new NotImplementedException();
}

/// <summary>
/// To get provider instance using workload and backup management type.
/// </summary>
public IPsBackupProvider GetProviderInstance(
WorkloadType workloadType, BackupManagementType? backupManagementType)
{
Expand Down Expand Up @@ -139,6 +158,9 @@ public IPsBackupProvider GetProviderInstance(
return GetProviderInstance(psProviderType);
}

/// <summary>
/// To get provider instance using provider type.
/// </summary>
public IPsBackupProvider GetProviderInstance(PsBackupProviderTypes providerType)
{
IPsBackupProvider psBackupProvider = null;
Expand Down