diff options
author | Andrew Bartlett <abartlet@samba.org> | 2023-05-09 16:32:47 +1200 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2023-05-16 23:29:32 +0000 |
commit | 7953a9ba71b6c3de4001a325d8b778ecb912b15b (patch) | |
tree | cf7136d4c26a1081f341787e3968373295eb65fb /python | |
parent | 844eb0737676af73b499fd722b48256d6df587f4 (diff) | |
download | samba-7953a9ba71b6c3de4001a325d8b778ecb912b15b.tar.gz |
samba-tool domain provision: Use common functional_level.string_to_level()
This is instead of manually parsing the functional level strings.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Diffstat (limited to 'python')
-rw-r--r-- | python/samba/netcmd/domain/provision.py | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/python/samba/netcmd/domain/provision.py b/python/samba/netcmd/domain/provision.py index a503d1a8ebd..2e7fca9c0c9 100644 --- a/python/samba/netcmd/domain/provision.py +++ b/python/samba/netcmd/domain/provision.py @@ -44,6 +44,7 @@ from samba.netcmd import Command, CommandError, Option from samba.provision import DEFAULT_MIN_PWD_LENGTH, ProvisioningError, provision from samba.provision.common import FILL_DRS, FILL_FULL, FILL_NT4SYNC from samba.samdb import get_default_backend_store +from samba import functional_level from .common import common_ntvfs_options, common_provision_join_options @@ -258,14 +259,10 @@ class cmd_domain_provision(Command): else: self.logger.info("Administrator password will be set randomly!") - if function_level == "2000": - dom_for_fun_level = DS_DOMAIN_FUNCTION_2000 - elif function_level == "2003": - dom_for_fun_level = DS_DOMAIN_FUNCTION_2003 - elif function_level == "2008": - dom_for_fun_level = DS_DOMAIN_FUNCTION_2008 - elif function_level == "2008_R2": - dom_for_fun_level = DS_DOMAIN_FUNCTION_2008_R2 + try: + dom_for_fun_level = functional_level.string_to_level(function_level) + except KeyError as e: + raise CommandError(f"'{function_level}' is not a valid domain level") if adprep_level is None: # Select the adprep_level default based |