/// <summary>
/// Helper function to convert ps backup policy model for AzureSql from service response.
/// </summary>
public static PolicyBase GetPolicyModelForAzureSql(ServiceClientModel.ProtectionPolicyResource serviceClientResponse,
PolicyBase policyModel)
{
ServiceClientModel.AzureSqlProtectionPolicy azureSqlPolicy =
(ServiceClientModel.AzureSqlProtectionPolicy)serviceClientResponse.Properties;
if (azureSqlPolicy.RetentionPolicy.GetType() !=
typeof(ServiceClientModel.SimpleRetentionPolicy))
{
Logger.Instance.WriteDebug("Unknown RetentionPolicy object received: " +
azureSqlPolicy.RetentionPolicy.GetType());
Logger.Instance.WriteWarning(Resources.UpdateToNewAzurePowershellWarning);
return(null);
}
policyModel = new AzureSqlPolicy();
AzureSqlPolicy sqlPolicyModel = policyModel as AzureSqlPolicy;
sqlPolicyModel.WorkloadType = WorkloadType.AzureSQLDatabase;
sqlPolicyModel.BackupManagementType = BackupManagementType.AzureSQL;
ServiceClientModel.SimpleRetentionPolicy azureSqlRetentionPolicy =
(ServiceClientModel.SimpleRetentionPolicy)azureSqlPolicy.RetentionPolicy;
sqlPolicyModel.RetentionPolicy =
PolicyHelpers.GetPSSimpleRetentionPolicy(azureSqlRetentionPolicy, null, "AzureSql");
return(policyModel);
}