/// <summary> /// Create or update a backup LongTermRetention policy for a Azure SQL Database /// </summary> /// <param name="resourceGroup">The name of the resource group</param> /// <param name="serverName">The name of the Azure SQL Server</param> /// <param name="databaseName">The name of the Azure SQL Database</param> /// <returns>A backup LongTermRetention policy</returns> internal AzureSqlDatabaseBackupLongTermRetentionPolicyModel SetDatabaseBackupLongTermRetentionPolicy( string resourceGroup, string serverName, string databaseName, AzureSqlDatabaseBackupLongTermRetentionPolicyModel model) { Management.Sql.Models.BackupLongTermRetentionPolicy response = Communicator.SetDatabaseLongTermRetentionPolicy( resourceGroup, serverName, databaseName, new Management.Sql.Models.BackupLongTermRetentionPolicy() { WeeklyRetention = model.WeeklyRetention, MonthlyRetention = model.MonthlyRetention, YearlyRetention = model.YearlyRetention, WeekOfYear = model.WeekOfYear }); return(new AzureSqlDatabaseBackupLongTermRetentionPolicyModel() { ResourceGroupName = resourceGroup, ServerName = serverName, DatabaseName = databaseName, WeeklyRetention = response.WeeklyRetention, MonthlyRetention = response.MonthlyRetention, YearlyRetention = response.YearlyRetention, WeekOfYear = response.WeekOfYear }); }
/// <summary> /// Create or update a backup LongTermRetention policy for a Azure SQL Database /// </summary> /// <param name="resourceGroup">The name of the resource group</param> /// <param name="serverName">The name of the Azure SQL Server</param> /// <param name="databaseName">The name of the Azure SQL Database</param> /// <returns>A backup LongTermRetention policy</returns> internal AzureSqlDatabaseBackupLongTermRetentionPolicyModel SetDatabaseBackupLongTermRetentionPolicy( string resourceGroup, string serverName, string databaseName, AzureSqlDatabaseBackupLongTermRetentionPolicyModel model) { var baPolicy = Communicator.SetDatabaseBackupLongTermRetentionPolicy( resourceGroup, serverName, databaseName, "Default", Util.GenerateTracingId(), new DatabaseBackupLongTermRetentionPolicyCreateOrUpdateParameters() { Location = model.Location, Properties = new DatabaseBackupLongTermRetentionPolicyProperties() { State = model.State, RecoveryServicesBackupPolicyResourceId = model.RecoveryServicesBackupPolicyResourceId, } }); return(new AzureSqlDatabaseBackupLongTermRetentionPolicyModel() { Location = baPolicy.Location, ResourceGroupName = resourceGroup, ServerName = serverName, DatabaseName = databaseName, State = baPolicy.Properties.State, RecoveryServicesBackupPolicyResourceId = baPolicy.Properties.RecoveryServicesBackupPolicyResourceId, }); }
/// <summary> /// Create or update a backup LongTermRetention policy for a Azure SQL Database /// </summary> /// <param name="resourceGroup">The name of the resource group</param> /// <param name="serverName">The name of the Azure SQL Server</param> /// <param name="databaseName">The name of the Azure SQL Database</param> /// <returns>A backup LongTermRetention policy</returns> internal AzureSqlDatabaseBackupLongTermRetentionPolicyModel SetDatabaseBackupLongTermRetentionPolicy( string resourceGroup, string serverName, string databaseName, AzureSqlDatabaseBackupLongTermRetentionPolicyModel model) { if (!string.IsNullOrWhiteSpace(model.RecoveryServicesBackupPolicyResourceId)) { var baPolicy = Communicator.SetDatabaseBackupLongTermRetentionPolicy( resourceGroup, serverName, databaseName, "Default", new DatabaseBackupLongTermRetentionPolicyCreateOrUpdateParameters() { Location = model.Location, Properties = new DatabaseBackupLongTermRetentionPolicyProperties() { State = model.State, RecoveryServicesBackupPolicyResourceId = model.RecoveryServicesBackupPolicyResourceId, } }); return(new AzureSqlDatabaseBackupLongTermRetentionPolicyModel() { Location = baPolicy.Location, ResourceGroupName = resourceGroup, ServerName = serverName, DatabaseName = databaseName, State = baPolicy.Properties.State, RecoveryServicesBackupPolicyResourceId = baPolicy.Properties.RecoveryServicesBackupPolicyResourceId, }); } else { Management.Sql.Models.BackupLongTermRetentionPolicy response = Communicator.SetDatabaseLongTermRetentionPolicy( resourceGroup, serverName, databaseName, new Management.Sql.Models.BackupLongTermRetentionPolicy() { WeeklyRetention = model.WeeklyRetention, MonthlyRetention = model.MonthlyRetention, YearlyRetention = model.YearlyRetention, WeekOfYear = model.WeekOfYear }); return(new AzureSqlDatabaseBackupLongTermRetentionPolicyModel() { ResourceGroupName = resourceGroup, ServerName = serverName, DatabaseName = databaseName, WeeklyRetention = response.WeeklyRetention, MonthlyRetention = response.MonthlyRetention, YearlyRetention = response.YearlyRetention, WeekOfYear = response.WeekOfYear }); } }