/// <summary>
        /// Persist changes to ser
        /// </summary>
        /// <param name="entity">The output of apply user input to model</param>
        /// <returns>The input entity</returns>
        protected override IEnumerable <AzureSqlDatabaseLongTermRetentionBackupModel> PersistChanges(
            IEnumerable <AzureSqlDatabaseLongTermRetentionBackupModel> entity)
        {
            if (ShouldProcess(DatabaseName))
            {
                Management.Sql.Models.UpdateLongTermRetentionBackupParameters updateParameters = new Management.Sql.Models.UpdateLongTermRetentionBackupParameters(BackupStorageRedundancy);

                return(new List <AzureSqlDatabaseLongTermRetentionBackupModel>()
                {
                    ModelAdapter.UpdateDatabaseLongTermRetentionBackup(entity.First(), updateParameters)
                });
            }
            return(null);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Updates a Long Term Retention backup.
 /// </summary>
 /// <param name="locationName">The location name.</param>
 /// <param name="serverName">The server name.</param>
 /// <param name="databaseName">The database name.</param>
 /// <param name="backupName">The backup name.</param>
 /// <param name="resourceGroupName">The resource group name</param>
 public Management.Sql.Models.LongTermRetentionBackupOperationResult UpdateDatabaseLongTermRetentionBackup(
     string locationName,
     string serverName,
     string databaseName,
     string backupName,
     string resourceGroupName,
     Management.Sql.Models.UpdateLongTermRetentionBackupParameters parameters)
 {
     if (string.IsNullOrWhiteSpace(resourceGroupName))
     {
         return(GetCurrentSqlClient().LongTermRetentionBackups.Update(locationName, serverName, databaseName, backupName, parameters));
     }
     else
     {
         return(GetCurrentSqlClient().LongTermRetentionBackups.UpdateByResourceGroup(resourceGroupName, locationName, serverName, databaseName, backupName, parameters));
     }
 }
        /// <summary>
        /// Update a Long Term Retention backup.
        /// </summary>
        /// <param name="locationName">The location name.</param>
        /// <param name="serverName">The server name.</param>
        /// <param name="databaseName">The database name.</param>
        /// <param name="backupName">The backup name.</param>
        /// <param name="resourceGroupName">The resource group name</param>
        /// <param name="onlyLatestPerDatabase">Whether or not to only get the latest backup per database.</param>
        /// <param name="databaseState">The state of databases to get backups for: All, Live, De
        /// leted.</param>
        internal AzureSqlDatabaseLongTermRetentionBackupModel UpdateDatabaseLongTermRetentionBackup(
            AzureSqlDatabaseLongTermRetentionBackupModel model,
            Management.Sql.Models.UpdateLongTermRetentionBackupParameters updateParameters)
        {
            Management.Sql.Models.LongTermRetentionBackupOperationResult response = Communicator.UpdateDatabaseLongTermRetentionBackup(
                model.Location,
                model.ServerName,
                model.DatabaseName,
                model.BackupName,
                model.ResourceGroupName,
                updateParameters);

            Management.Sql.Models.LongTermRetentionBackup backup = Communicator.GetDatabaseLongTermRetentionBackup(
                model.Location,
                model.ServerName,
                model.DatabaseName,
                model.BackupName,
                model.ResourceGroupName);

            AzureSqlDatabaseLongTermRetentionBackupModel backupModel = GetBackupModel(backup, model.Location);

            return(backupModel);
        }