
    g{                         S SK Jr  S SKJrJr  S SKJr  S SKJ	r	J
r
JrJr   " S S\	5      r " S S\	5      r " S	 S
\	5      r " S S\5      rg)    N)AuthenticationSiloUser)
ModelError)CommandCommandErrorOptionSuperCommandc            	           \ rS rSrSrSrS/r\R                  \R                  \R                  S.r\" SSSS	\S
S9/r  SS jrSrg)cmd_user_auth_silo_assign   z/Set the assigned authentication silo on a user.%prog <username> [options]username	sambaoptscredoptshostoptsz--silozAuthentication silo name.store	silo_nameT)helpactiondesttyperequiredNc           	          U R                  X#U5      n [        R                  " Xa5      n[        R                  " XeS9nUc  [        SU S35      eUc  [        SU S35      eUR                  Ul         UR                  U5        UR                  UR                  ;   a  Sn
OSn
[        SU SU S	U
 S
3U R                  S9  g ! [
         a  n	[        U	5      eS n	A	ff = f! [
         a  n	[        SU	 35      eS n	A	ff = f)N)nameUser  not found.zAuthentication silo z)Set assigned authentication silo failed: grantedrevoked! assigned to authentication silo  ()file)ldb_connectr   findr   getr   r   dnassigned_silosavemembersprintoutf)selfr   r   r   r   r   ldbusersiloestatuss              =/usr/lib/python3/dist-packages/samba/netcmd/user/auth/silo.pyruncmd_user_auth_silo_assign.run/   s    xH=	"99S+D%))#>D
 <xj<==<!5i[LMM "WW	PIIcN
 77dll"FFhZ@bPQR99	/  	"q/!	"  	P!J1#NOO	Ps/   *C 4C  
CCC 
C=*C88C= )NNNN)__name__
__module____qualname____firstlineno____doc__synopsis
takes_argsoptionsSambaOptionsCredentialsOptionsHostOptionstakes_optiongroupsr   strtakes_optionsr5   __static_attributes__r7       r4   r   r      se    9+HJ ))..'' 	x9KcD	JM
 EI rG   r   c                   t    \ rS rSrSrSrS/r\R                  \R                  \R                  S.rS	S jrSrg)
cmd_user_auth_silo_removeR   z2Remove the assigned authentication silo on a user.r   r   r   Nc           	      N   U R                  X#U5      n [        R                  " XQ5      nUc  [	        SU S35      eUR
                  (       a    [        R                  " XVR
                  S9nOS nS Ul         UR                  U5        U(       a  UR                  UR                  ;   a  Sn	OSn	[        SU SU SU	 S	3U R                  S
9  g ! [         a  n[	        U5      eS nAff = f! [         a  n[	        U5      eS nAff = f! [         a  n[	        SU 35      eS nAff = f)Nr   r   r(   z,Remove assigned authentication silo failed: r   r   z" removed from authentication silo r!   r"   r#   )r%   r   r&   r   r   r)   r   r'   r*   r(   r+   r,   r-   )
r.   r   r   r   r   r/   r0   r2   r1   r3   s
             r4   r5   cmd_user_auth_silo_remove.run_   s-   xH=	"99S+D
 <xj<== &)--c6H6HI D "	SIIcN
 DGGt||+FFhZA$r&QRS99	=  	"q/!	"  &"1o%&  	S!MaSQRR	SsG   C C* 7D 
C'C""C'*
D4C??D
D$DD$r7   NNNr8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   r5   rF   r7   rG   r4   rI   rI   R   s;    <+HJ ))..''%rG   rI   c                   t    \ rS rSrSrSrS/r\R                  \R                  \R                  S.rS	S jrSrg)
cmd_user_auth_silo_view   z8View the current assigned authentication silo on a user.r   r   r   Nc           	         U R                  X#U5      n [        R                  " XQ5      nUc  [        SU S35      eUR                  (       a  [
        R                  " XVR                  S9nOS n U(       a  UR                  UR                  ;   a  Sn	OSn	U(       a  [        SU SU SU	 S3U R                  S	9  g [        SU S
3U R                  S	9  g ! [         a  n[        U5      eS nAff = f)Nr   r   rL   r   r   r    r!   r"   r#   z% has no assigned authentication silo.)r%   r   r&   r   r)   r   r'   r   r(   r+   r,   r-   )
r.   r   r   r   r   r/   r0   r1   r2   r3   s
             r4   r5   cmd_user_auth_silo_view.run   s    xH=	"99S+D |"U8*K#@AA !!)--c6H6HI DGGt||+FFE(#DTF"VHTUVyy" E(#HIyy"  	"q/!	"s   AC ,C 
C.C))C.r7   rN   rO   r7   rG   r4   rQ   rQ      s;    B+HJ ))..''"rG   rQ   c                   B    \ rS rSrSr\" 5       \" 5       \" 5       S.rSr	g)cmd_user_auth_silo   z&Manage authentication silos on a user.)assignremoveviewr7   N)
r8   r9   r:   r;   r<   r   rI   rQ   subcommandsrF   r7   rG   r4   rV   rV      s     0 ,-+-')KrG   rV   )samba.getoptgetoptr?   samba.domain.modelsr   r   samba.domain.models.exceptionsr   samba.netcmdr   r   r   r	   r   rI   rQ   rV   r7   rG   r4   <module>ra      sI   .  8 5 D D2 2j2 2j,"g ,"^ rG   