/// <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
     });
 }
Ejemplo n.º 2
0
        /// <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
         });
     }
 }