Skip to content

Commit 6177df7

Browse files
mattboentoroMatthew Boentoro
andauthored
{RDBMS} az postgres flexible-server update: Cannot enable HA when Fabric Mirroring is enabled (#31149)
* {RDBMS} az postgres flexible-server update: Cannot enable HA when Fabric Mirroring is enabled * update message * add pylint exception * move pylint exception * fix test * address feedback * address feedback --------- Co-authored-by: Matthew Boentoro <mboentoro@microsoft.com>
1 parent 919923c commit 6177df7

2 files changed

Lines changed: 298 additions & 188 deletions

File tree

src/azure-cli/azure/cli/command_modules/rdbms/flexible_server_custom_postgres.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,7 @@ def flexible_server_restore(cmd, client,
301301
return sdk_no_wait(no_wait, client.begin_create, resource_group_name, server_name, parameters)
302302

303303

304+
# pylint: disable=too-many-branches
304305
def flexible_server_update_custom_func(cmd, client, instance,
305306
sku_name=None, tier=None,
306307
storage_gb=None,
@@ -456,6 +457,12 @@ def flexible_server_update_custom_func(cmd, client, instance,
456457
if high_availability.lower() != "disabled" and standby_availability_zone:
457458
high_availability_param.standby_availability_zone = standby_availability_zone
458459

460+
if high_availability.lower() != "disabled":
461+
config_client = cf_postgres_flexible_config(cmd.cli_ctx, '_')
462+
fabric_mirror_status = config_client.get(resource_group_name, server_name, 'azure.fabric_mirror_enabled')
463+
if (fabric_mirror_status and fabric_mirror_status.value.lower() == 'on'):
464+
raise CLIError("High availability cannot be enabled while Fabric mirroring is Active. Please disable Fabric mirroring to enable high availability.")
465+
459466
params.high_availability = high_availability_param
460467

461468
return params

0 commit comments

Comments
 (0)