@@ -56,6 +56,7 @@ def join(
56
56
admin_password : str ,
57
57
dns_backend : typing .Optional [str ] = None ,
58
58
domain : typing .Optional [str ] = None ,
59
+ options : typing .Optional [typing .Iterable [tuple [str , str ]]] = None ,
59
60
) -> None :
60
61
_logger .info (f"Joining AD domain: realm={ realm } " )
61
62
subprocess .check_call (
@@ -64,6 +65,7 @@ def join(
64
65
dcname ,
65
66
admin_password = admin_password ,
66
67
dns_backend = dns_backend ,
68
+ options = options ,
67
69
)
68
70
)
69
71
@@ -127,6 +129,7 @@ def _join_cmd(
127
129
admin_password : str ,
128
130
dns_backend : typing .Optional [str ] = None ,
129
131
domain : typing .Optional [str ] = None ,
132
+ options : typing .Optional [typing .Iterable [tuple [str , str ]]] = None ,
130
133
) -> list [str ]:
131
134
if not dns_backend :
132
135
dns_backend = "SAMBA_INTERNAL"
@@ -141,8 +144,12 @@ def _join_cmd(
141
144
f"--option=netbios name={ dcname } " ,
142
145
f"--dns-backend={ dns_backend } " ,
143
146
f"--password={ admin_password } " ,
144
- ].argv ()
145
- return cmd
147
+ ]
148
+ for okey , oval in options or []:
149
+ if okey == "netbios name" :
150
+ continue
151
+ cmd = cmd [f"--option={ okey } ={ oval } " ]
152
+ return cmd .argv ()
146
153
147
154
148
155
def _user_create_cmd (
0 commit comments