diff --git a/src/azure-cli/azure/cli/command_modules/rdbms/_params.py b/src/azure-cli/azure/cli/command_modules/rdbms/_params.py index 02ab0de44fc..a7872ce8e7b 100644 --- a/src/azure-cli/azure/cli/command_modules/rdbms/_params.py +++ b/src/azure-cli/azure/cli/command_modules/rdbms/_params.py @@ -687,6 +687,7 @@ def _flexible_server_params(command_group): c.argument('public_access', options_list=['--public-access'], arg_type=get_enum_type(['Enabled', 'Disabled']), help='Determines the public access. ') elif command_group == 'postgres': + c.argument('restore_point_in_time', arg_type=restore_point_in_time_arg_type) c.argument('geo_redundant_backup', default='Disabled', arg_type=geo_redundant_backup_arg_type) c.argument('byok_key', arg_type=key_arg_type) c.argument('byok_identity', arg_type=identity_arg_type) diff --git a/src/azure-cli/azure/cli/command_modules/rdbms/flexible_server_custom_postgres.py b/src/azure-cli/azure/cli/command_modules/rdbms/flexible_server_custom_postgres.py index b62c6b548fe..9fef123370a 100644 --- a/src/azure-cli/azure/cli/command_modules/rdbms/flexible_server_custom_postgres.py +++ b/src/azure-cli/azure/cli/command_modules/rdbms/flexible_server_custom_postgres.py @@ -615,7 +615,7 @@ def flexible_replica_create(cmd, client, resource_group_name, source_server, rep def flexible_server_georestore(cmd, client, resource_group_name, server_name, source_server, location, zone=None, vnet=None, vnet_address_prefix=None, subnet=None, subnet_address_prefix=None, private_dns_zone_arguments=None, geo_redundant_backup=None, no_wait=False, yes=False, - byok_identity=None, byok_key=None, backup_byok_identity=None, backup_byok_key=None): + byok_identity=None, byok_key=None, backup_byok_identity=None, backup_byok_key=None, restore_point_in_time=None): validate_resource_group(resource_group_name) server_name = server_name.lower() @@ -632,6 +632,8 @@ def flexible_server_georestore(cmd, client, resource_group_name, server_name, so else: source_server_id = source_server + restore_point_in_time = validate_and_format_restore_point_in_time(restore_point_in_time) + try: id_parts = parse_resource_id(source_server_id) validate_citus_cluster(cmd, id_parts['resource_group'], id_parts['name']) @@ -659,7 +661,7 @@ def flexible_server_georestore(cmd, client, resource_group_name, server_name, so storage = postgresql_flexibleservers.models.Storage(type=None) parameters = postgresql_flexibleservers.models.Server( - point_in_time_utc=get_current_time(), + point_in_time_utc=restore_point_in_time, location=location, source_server_resource_id=source_server_id, create_mode="GeoRestore", diff --git a/src/azure-cli/azure/cli/command_modules/rdbms/validators.py b/src/azure-cli/azure/cli/command_modules/rdbms/validators.py index 3b4075cb7d0..2d7626a84ae 100644 --- a/src/azure-cli/azure/cli/command_modules/rdbms/validators.py +++ b/src/azure-cli/azure/cli/command_modules/rdbms/validators.py @@ -808,7 +808,7 @@ def validate_and_format_restore_point_in_time(restore_time): return parser.parse(restore_time) except: raise ValidationError("The restore point in time value has incorrect date format. " - "Please use ISO format e.g., 2021-10-22T00:08:23+00:00.") + "Please use ISO format e.g., 2024-10-22T00:08:23+00:00.") def is_citus_cluster(cmd, resource_group_name, server_name):