
    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\R                  \R                  \R                  S.r
\" SSSS\S	S
9\" SSSS\S	S
9/r  SS jrSrg)!cmd_domain_auth_silo_member_grant   z0Grant a member access to an authentication silo.%prog -H <URL> [options]	sambaoptscredoptshostopts--name'Name of authentication silo (required).namestoreThelpdestactiontyperequired--memberz8Member to grant access to the silo (DN or account name).memberNc           	      6   U R                  XU5      n [        R                  " XdS9nUc  [	        SU S35      e [
        R                  " Xe5      n	U	c  [	        SU S35      e UR                  Xi5        U	R                  (       a  U	R                  UR                  :X  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[	        U5      eS nAff = f)NcnAuthentication silo  not found.User assigned
unassignedz+ granted access to the authentication silo  ().file)ldb_connectr   getr   r   r   findgrantassigned_silodnprintoutfselfr   r   r   r   r   ldbsiloeuserstatuss              F/usr/lib/python3/dist-packages/samba/netcmd/domain/auth/silo/member.pyrun%cmd_domain_auth_silo_member_grant.run1   s&    xH=	"%))#7D
 <!5dV;GHH	"99S)D
 <vhk:;;	"JJs!
 $"4"4"?F!FdVFtfBvhVXY99	9  	"q/!	"  	"q/!	"  	"q/!	"F   C C! $C> 
CCC!
C;+C66C;>
DDD NNNNN__name__
__module____qualname____firstlineno____doc__synopsisoptionsSambaOptionsCredentialsOptionsHostOptionstakes_optiongroupsr   strtakes_optionsr:   __static_attributes__r=       r9   r   r      su    :)H ))..'' 	x=7t	E 	zNW3	G	M ;?"$rN   r   c            	           \ rS rSrSrSr\R                  \R                  \R                  S.r
\" SSSS\S	S
9\" SSSSSS9/r  SS jrSrg) cmd_domain_auth_silo_member_listX   z,List all members in the authentication silo.r   r   r   r   r   r   Tr   z--jsonzOutput results in JSON format.output_formatstore_constjson)r   r   r   constNc                    U R                  XU5      n [        R                  " XdS9nUc  [	        SU S35      e UR
                   V	s/ s H  n	[        R                  " XiS9PM     n
n	US:X  a0  U R                  U
 Vs/ s H  oR                  5       PM     sn5        g U
 H!  n[        UR                  U R                  S9  M#     g ! [         a  n[	        U5      eS nAff = fs  sn	f ! [         a  n[	        U5      eS nAff = fs  snf )Nr   r!   r"   )r/   rT   r(   )r*   r   r+   r   r   membersr   
print_jsonas_dictr0   r/   r1   )r3   r   r   r   r   rR   r4   r5   r6   r/   rW   r   s               r9   r:   $cmd_domain_auth_silo_member_list.runk   s     xH=	"%))#7D
 <!5dV;GHH	"6:llCltxx+lGC
 F"OOGDG&^^-GDE!fiidii0 "#  	"q/!	" D 	"q/!	"
 EsF   C C) 	C$'C) >D
C!CC!$C) )
D3C>>Dr=   r>   r?   r=   rN   r9   rP   rP   X   ss    6)H ))..'' 	x=7t	E 	x>#M	I	M ;?%)1rN   rP   c            
           \ rS rSrSrSr\R                  \R                  \R                  S.r
\" SSSS\S	S
9\" SSSS\S	S
9/r  SS jrSrg)"cmd_domain_auth_silo_member_revoke   z,Revoke a member from an authentication silo.r   r   r   r   r   r   Tr   r   z4Member to revoke from the silo (DN or account name).r   Nc           	      6   U R                  XU5      n [        R                  " XdS9nUc  [	        SU S35      e [
        R                  " Xe5      n	U	c  [	        SU S35      e UR                  Xi5        U	R                  (       a  U	R                  UR                  :X  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[	        U5      eS nAff = f)Nr   r!   r"   r#   r$   r%   z& revoked from the authentication silo r&   r'   r(   )r*   r   r+   r   r   r   r,   revoker.   r/   r0   r1   r2   s              r9   r:   &cmd_domain_auth_silo_member_revoke.run   s&    xH=	"%))#7D
 <!5dV;GHH	"99S)D
 <vhk:;;	"KK"
 $"4"4"?F!FdVA$r&QST99	9  	"q/!	"  	"q/!	"  	"q/!	"r<   r=   r>   r?   r=   rN   r9   r\   r\      su    6)H ))..'' 	x=7t	E 	zJW3	G	M ;?"$rN   r\   c                   B    \ rS rSrSr\" 5       \" 5       \" 5       S.rSr	g)cmd_domain_auth_silo_member   z)Manage members in an authentication silo.)r-   listr_   r=   N)
r@   rA   rB   rC   rD   r   rP   r\   subcommandsrM   r=   rN   r9   rb   rb      s     3 340246KrN   rb   )samba.getoptgetoptrF   samba.domain.modelsr   r   samba.domain.models.exceptionsr   samba.netcmdr   r   r   r	   r   rP   r\   rb   r=   rN   r9   <module>rk      sI   .  8 5 D D8 8v,1w ,1^8 8v, rN   