|
19 | 19 | from azure.cli.core.util import CLIError, sdk_no_wait, user_confirmation, run_cmd |
20 | 20 | from azure.cli.core.local_context import ALL |
21 | 21 | from azure.mgmt.mysqlflexibleservers import models |
22 | | -from azure.cli.core.azclierror import ClientRequestError, RequiredArgumentMissingError, InvalidArgumentValueError, ValidationError |
| 22 | +from azure.cli.core.azclierror import ClientRequestError, ArgumentUsageError, RequiredArgumentMissingError, InvalidArgumentValueError, ValidationError |
23 | 23 | from ._client_factory import get_mysql_flexible_management_client, cf_mysql_flexible_firewall_rules, cf_mysql_flexible_db, \ |
24 | 24 | cf_mysql_check_resource_availability, cf_mysql_check_resource_availability_without_location, cf_mysql_flexible_config, \ |
25 | 25 | cf_mysql_flexible_servers, cf_mysql_flexible_replica, cf_mysql_flexible_adadmin, cf_mysql_flexible_private_dns_zone_suffix_operations, cf_mysql_servers, \ |
@@ -1175,6 +1175,10 @@ def server_delete_func(cmd, client, resource_group_name, server_name, yes=None): |
1175 | 1175 |
|
1176 | 1176 |
|
1177 | 1177 | def flexible_server_restart(cmd, client, resource_group_name, server_name, fail_over=None): |
| 1178 | + instance = client.get(resource_group_name, server_name) |
| 1179 | + if fail_over is not None and instance.high_availability.mode != "ZoneRedundant": |
| 1180 | + raise ArgumentUsageError("Failing over can only be triggered for zone redundant servers.") |
| 1181 | + |
1178 | 1182 | if fail_over is not None: |
1179 | 1183 | if fail_over != 'Forced': |
1180 | 1184 | raise InvalidArgumentValueError("Allowed failover parameters are 'Forced'.") |
|
0 commit comments