Skip to content
Open
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 @@ -53,11 +53,6 @@ def _register_network_resource_breaking_change(command_name):
message='Long term retention command group will be removed. '
'For more information, open a support incident.')

# Name of new backup no longer required in backup create command
register_other_breaking_change('postgres flexible-server backup create',
message='The argument for backup name will no longer be required '
'in next breaking change release(2.86.0) scheduled for May 2026.')

# LTR command argument changes
register_other_breaking_change('postgres flexible-server long-term-retention',
message='The --backup-name/-b argument has been deprecated and will be removed '
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,39 @@
# --------------------------------------------------------------------------------------------

# pylint: disable=unused-argument, line-too-long
from datetime import datetime
from azure.cli.core.util import user_confirmation
from knack.log import get_logger
from ..utils.validators import validate_resource_group, validate_backup_name

logger = get_logger(__name__)

_BACKUP_NAME_PREFIX = "ondemandbackup"

def backup_create_func(client, resource_group_name, server_name, backup_name):

def _generate_backup_name(client, resource_group_name, server_name):
existing_backups = client.list_by_server(resource_group_name, server_name)
existing_names = {backup.name for backup in existing_backups}

on_demand_count = sum(1 for name in existing_names if name.startswith(_BACKUP_NAME_PREFIX))

date_str = datetime.utcnow().strftime("%m%d%Y")
backup_name = f"{_BACKUP_NAME_PREFIX}-{date_str}-{on_demand_count + 1}"

if backup_name in existing_names:
backup_name = f"{_BACKUP_NAME_PREFIX}-{date_str}-{on_demand_count + 2}"

return backup_name


Comment thread
mattboentoro marked this conversation as resolved.
def backup_create_func(client, resource_group_name, server_name, backup_name=None):
validate_resource_group(resource_group_name)
validate_backup_name(backup_name)

if not backup_name:
backup_name = _generate_backup_name(client, resource_group_name, server_name)
Comment thread
mattboentoro marked this conversation as resolved.
logger.warning("No backup name provided. Using generated name: %s", backup_name)
else:
Comment thread
mattboentoro marked this conversation as resolved.
validate_backup_name(backup_name)

return client.begin_create(
resource_group_name,
Expand Down
Loading