Skip to content

Commit a4ab5c8

Browse files
authored
{RDBMS} a{RDBMS} az postgres flexible-server parameter set `: Fix error message when invalid configuration name or source is provided (#30691)
* Catch error for updatin parameters * lint fix * update tests
1 parent 21210df commit a4ab5c8

File tree

3 files changed

+818
-578
lines changed

3 files changed

+818
-578
lines changed

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

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -481,23 +481,29 @@ def flexible_server_postgresql_get(cmd, resource_group_name, server_name):
481481

482482
def flexible_parameter_update(client, server_name, configuration_name, resource_group_name, source=None, value=None):
483483
validate_resource_group(resource_group_name)
484-
if source is None and value is None:
484+
parameter_value = value
485+
parameter_source = source
486+
try:
487+
# validate configuration name
488+
parameter = client.get(resource_group_name, server_name, configuration_name)
489+
485490
# update the command with system default
486-
try:
487-
parameter = client.get(resource_group_name, server_name, configuration_name)
488-
value = parameter.default_value # reset value to default
491+
if parameter_value is None and parameter_source is None:
492+
parameter_value = parameter.default_value # reset value to default
489493

490-
# this should be 'system-default' but there is currently a bug in PG, so keeping as what it is for now
494+
# this should be 'system-default' but there is currently a bug in PG
491495
# this will reset source to be 'system-default' anyway
492-
source = parameter.source
493-
except HttpResponseError as e:
496+
parameter_source = "user-override"
497+
elif parameter_source is None:
498+
parameter_source = "user-override"
499+
except HttpResponseError as e:
500+
if parameter_value is None and parameter_source is None:
494501
raise CLIError('Unable to get default parameter value: {}.'.format(str(e)))
495-
elif source is None:
496-
source = "user-override"
502+
raise CLIError(str(e))
497503

498504
parameters = postgresql_flexibleservers.models.Configuration(
499-
value=value,
500-
source=source
505+
value=parameter_value,
506+
source=parameter_source
501507
)
502508

503509
return client.begin_update(resource_group_name, server_name, configuration_name, parameters)

0 commit comments

Comments
 (0)