@@ -481,23 +481,29 @@ def flexible_server_postgresql_get(cmd, resource_group_name, server_name):
481481
482482def 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