@@ -483,23 +483,30 @@ def flexible_server_postgresql_get(cmd, resource_group_name, server_name):
483483
484484def flexible_parameter_update (client , server_name , configuration_name , resource_group_name , source = None , value = None ):
485485 validate_resource_group (resource_group_name )
486- if source is None and value is None :
486+ parameter_value = value
487+ parameter_source = source
488+ try :
489+ # validate configuration name
490+ parameter = client .get (resource_group_name , server_name , configuration_name )
491+
487492 # update the command with system default
488- try :
489- parameter = client .get (resource_group_name , server_name , configuration_name )
490- value = parameter .default_value # reset value to default
493+ if parameter_value is None and parameter_source is None :
494+ parameter_value = parameter .default_value # reset value to default
491495
492- # this should be 'system-default' but there is currently a bug in PG, so keeping as what it is for now
496+ # this should be 'system-default' but there is currently a bug in PG
493497 # this will reset source to be 'system-default' anyway
494- source = parameter .source
495- except HttpResponseError as e :
498+ parameter_source = "user-override"
499+ elif parameter_source is None :
500+ parameter_source = "user-override"
501+ except HttpResponseError as e :
502+ if parameter_value is None and parameter_source is None :
496503 raise CLIError ('Unable to get default parameter value: {}.' .format (str (e )))
497- elif source is None :
498- source = "user-override"
504+ else :
505+ raise CLIError ( str ( e ))
499506
500507 parameters = postgresql_flexibleservers .models .Configuration (
501- value = value ,
502- source = source
508+ value = parameter_value ,
509+ source = parameter_source
503510 )
504511
505512 return client .begin_update (resource_group_name , server_name , configuration_name , parameters )
0 commit comments