%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python2.7/site-packages/salt/cli/
Upload File :
Create Path :
Current File : //lib/python2.7/site-packages/salt/cli/salt.pyo

�
���^c@@sddlmZmZmZddlZdejd<ddlZddlZ	ddl
Z	ddlZ	ddlZ	ddl
Z	ddlmZddlmZddlmZmZmZmZmZmZmZddlmZde	jjjfd	��YZdS(
i(tabsolute_importtprint_functiontunicode_literalsNu
pkg_resources(tyamlify_arg(t
verify_log(tAuthenticationErrortAuthorizationErrortEauthAuthenticationErrortLoaderErrortSaltClientErrortSaltInvocationErrortSaltSystemExit(tsixtSaltCMDcB@s}eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	dd	�Z
d
�Zd�Zd�Z
d
�ZRS(u6
    The execution of a salt command happens here
    c@sddl�|j�|jdd3krC|j�t|j�ny=|jjdk}�jj|j	�d|dt
�|_Wn-tk
r�}|j
dd	j|��dSX|jjs�|jjr�|j�dS|jjr|j�}|j||jjd
d��dS|jjdkr<|jjd|j_ni|jd
d
6|jdd6|jdd6|jjd6|jjd6|jjd6}d|jkr!ddl�yK�jjjtjj |jdd�d��}|j!�|d<WdQXWq!t"k
r|jd|d<q!Xn|jj#|d<|j$rJ|j$|d<n
d|d<|jj%dkr�t&|j��|jj%kr��jj'j(d�|jj)|j_|j�dSnt*|jd�r�t*|jd�|d<nt*|jd�rt*|jd�|d<nt*|jd �rAt+t*|jd ��|d!<nt*|jd"�rrt+t*|jd"��|d"<nt*|jd#�r�t+t*|jd#��|d#<nt*|jd$�r�t+t*|jd$��|d$<nd|kr�d|kr�|jjr�ddl,��j-j.|j�}|j/|jj�}|jj0rz|rz|j1|jj|�}|rz|jdd�|d<qzn|s�t2j3j4d%�t2j
d�n|j5|�|jj|d&<n|jd'r�|jj6|�}	�jj'j(d(j|	��dS|jsdSg}
g}y�|jj7rP|jj8}|jj7|d)<t
|d*<n|jj9}|jj:rt
|d+<t
|jd+<i}
xl||�D]^}d+}y|j;||�Wnt<k
r�}t=|��nXd,|kr�|
j5|�q�q�W|j>|�|j?|
�n|jdd-kr�i}
d}x?|jj9|�D]+}|j@|�\}}}|
j5|�qCW|j|
|d.|�n�|jjAr�t
|d/<ni}
x�||�D]s}yL|j@|�\}}}|
jB|�|j||d.|�|
j5|�Wq�tCk
r)|jB|�q�Xq�W|jd0t
kr�|jdd-kr�|jjDdkr�|j?|
�|jF|�q�q�ntG�fd1�|
D��s�t2j3j4d2�t2j
�jHjIjJ�nWnGtKtLtMtNtfk
r}tOjP|�}
|j|
dd.d�nXdS(4u/
        Execute the salt command line
        iNu	log_leveluquietutskip_perm_errorstauto_reconnectiu{0}
uoutputunestedutimeoututgtufunuargushow_timeoutushow_jidutokenucachediru	.root_keyurukeyu	delimiterutgt_typeuglobiuA
NOTICE: Too many minions targeted, switching to batch execution.ureturnuretu
return_configu
ret_configu
return_kwargsu
ret_kwargsumodule_executorsu
executor_optsumetadatauERROR: Authentication failed
ueauthuasyncu!Executed command with job ID: {0}usubucliuprogressureturn_countusys.doctretcodeuverboseucli_summaryc3@s$|]}|�jjjkVqdS(N(tdefaultst	exitcodestEX_OK(t.0t	exit_code(tsalt(s1/usr/lib/python2.7/site-packages/salt/cli/salt.pys	<genexpr>�su0ERROR: Minions returned with non-zero exit code
(uquiet(Qtsalt.clientt
parse_argstconfigtsetup_logfile_loggerRtoptionsteauthtclienttget_local_clienttget_config_file_pathtTruetlocal_clientR	texittformattbatchtstatict
_run_batchtpreview_targett_preview_targett_output_rettgetttimeouttoptstshow_timeouttshow_jidtsalt.utils.filestutilstfilestfopentostpathtjointreadlinetIOErrort	delimitertselected_target_optiontbatch_safe_limittlentstringutilst	print_clitbatch_safe_sizetgetattrRt	salt.authtauthtResolvertclitmktokent	token_clitsyststderrtwritetupdatet	cmd_asynctsubsett
cmd_subsettcmd_clitprogresst
_progress_retRRt
_progress_endt_print_returns_summaryt_format_rettverbosetappendtKeyErrortoutputtNonet_print_errors_summarytallRRt
EX_GENERICRRR
RRt	text_type(tselfRtexctminion_listtkwargstfp_tresolvertresttoktjidtretcodesterrorstcmd_functretRNtouttfull_rettret_R((Rs1/usr/lib/python2.7/site-packages/salt/cli/salt.pytrun$s

	


1
	

$		

	







cC@s#|jj|jd|jpd�S(u>
        Return a list of minions from a given target
        utgtuglob(R!tgather_minionsRR9(R\((s1/usr/lib/python2.7/site-packages/salt/cli/salt.pyR(�sc
C@s�ddl}i}d|jkr5|jd|d<nd|kr|jjrddl}|jj|j�}|j|jj�}|jjr�|r�|j	|jj|�}|r�|j
dd�|d<q�n|s�tjj
d�tjd�n|j|�|jj|d<n|jjr�|jjs=d|jd<ny(|jjj|jd	|d
t�}Wntk
r�tjd�nXi}x!|j�D]}|j|�q�W|j|d�n�y>|jj|jd<|jjj|jd	|d|j�}Wntk
r!tjd�nXd}xX|j�D]J}xAtj|�D]0}|jjj|�}	|	|krK|	}qKqKWq5Wtj|�dS(
NiutokenuuERROR: Authentication failed
iueauthu100%ubatchRtquiettparseri(tsalt.cli.batchRRRR@RARBRCRDRER*RFRGRHR"RIR%R$tBatchR R	RlR)Rt
itervaluesR0tjobtget_retcode(
R\RRRaRbRcR$RhRtjob_retcode((s1/usr/lib/python2.7/site-packages/salt/cli/salt.pyR&�sT		
(
+
cC@s�|r�tjjjd�tjjjd�tjjjd�tjjjd�x-|D]"}tjjj|j|��qYWndS(Nu
u---------------------------uErrors(RR0R<R=t
_format_error(R\Rfterror((s1/usr/lib/python2.7/site-packages/salt/cli/salt.pyRX$s
c
C@s�d}d}g}g}g}g}x�|D]�}||}	t|	t�rld|	krl||jd�}	nt|	tj�r�|	jd�r�d|	kr�|j|�nd|	kr�|j|�n|d7}|j|�q+|d7}|j||�r+|j|�q+q+Wtj	j
jd�tj	j
jd�tj	j
jd	�tj	j
jd�tj	j
jd
j||��tj	j
jdj|��tj	j
jdj|��tj	j
jd
jt
|���|jjro|rtj	j
jdjdj|���n|r>tj	j
jdjdj|���n|rotj	j
jdjdj|���qontj	j
jd�dS(u)
        Display returns summary
        iuretuMinion did not returnu
Not connecteduNo responseiu
u+-------------------------------------------uSummaryu# of minions targeted: {0}u# of minions returned: {0}u%# of minions that did not return: {0}u# of minions with errors: {0}uMinions not connected: {0}u uMinions not responding: {0}uMinions with failures: {0}N(t
isinstancetdictR*Rtstring_typest
startswithRTt_get_retcodeRR0R<R=R#R;RRSR5(
R\Rhtreturn_countertnot_return_countertnot_return_minionstnot_response_minionstnot_connected_minionstfailed_minionsteach_miniont
minion_ret((s1/usr/lib/python2.7/site-packages/salt/cli/salt.pyRQ-sJ



 "((+cC@s#ddl}|jj|j�dS(Ni(tsalt.outputRVtprogress_endtprogress_bar(R\RiR((s1/usr/lib/python2.7/site-packages/salt/cli/salt.pyRPZscC@s�ddl}t|d�s`y"|jj|j||�|_Wq`tk
r\td��q`Xn|jj|j||j|�dS(u'
        Print progress events
        iNuprogress_barup
WARNING: Install the `progressbar` python package. Requested job was still run but output cannot be displayed.
(	R�thasattrRVtget_progressRR�t	ExceptionRtupdate_progress(R\RNRiR((s1/usr/lib/python2.7/site-packages/salt/cli/salt.pyRO^s"
ic	C@s�ddl}|jddkr?t|t�r?|j|�n%|jj|d|d|jd|�|s�tjj	d�tj
d	�ndS(
uG
        Print the output from a single return to the terminal
        iNufunusys.docRiR,t_retcodeuERROR: No return received
i(R�RRxR�t_print_docsRVtdisplay_outputRFRGRHR"(R\RhRiRR((s1/usr/lib/python2.7/site-packages/salt/cli/salt.pyR)ls#	cC@s�i}d}d}xhtj|�D]W\}}|d||<d|krU|d}n|j|�}||kr"|}q"q"W|||fS(uJ
        Take the full return data and format it to simple output
        uiuretuout(Rt	iteritemsR|(R\RjRhRiRtkeytdatatret_retcode((s1/usr/lib/python2.7/site-packages/salt/cli/salt.pyRR~s

cC@s�d}t|t�rv|jdd�dkrvt|jdd�t�rnttj|jdidd6���S|dSt|t�r�|r�dS|S(u8
        Determine a retcode for a given return
        iuretcodei(RxRyR*tmaxRRrtbool(R\RhR((s1/usr/lib/python2.7/site-packages/salt/cli/salt.pyR|�s'&cC@s:x3tj|�D]"\}}dj||d�}qW|S(Nu(Minion [{0}] encountered exception '{1}'umessage(RR�R#(R\tminion_errortminiont	error_docRw((s1/usr/lib/python2.7/site-packages/salt/cli/salt.pyRv�scC@s�ddl}i}|s+|jdd�nt|tj�rY|jddj|��nx�|D]�}t||tj�r�||jd�s`||dkr�q`nxA||D]5}||kr�|||r�|||||<q�q�Wq`W|jjr7x�t	|�D]*}|jj
i|||6d|j�qWn]xZt	|�D]L}|jj
jd	j|��|jj
j||�|jj
jd
�qDWdS(uR
        Print out the docstrings for all of the functions on the minions
        iNiu%No minions found to gather docs from
u{0}
uMinion did not returnu
VALUE_TRIMMEDunestedu{0}:u(R�R"RxRRzR#R{RRVtsortedR�RR0R<R=(R\RhRtdocsthosttfun((s1/usr/lib/python2.7/site-packages/salt/cli/salt.pyR��s*
+(t__name__t
__module__t__doc__RlR(R&RXRQRPROR)RRR|RvR�(((s1/usr/lib/python2.7/site-packages/salt/cli/salt.pyR
s	�		<			-					( t
__future__RRRRFRWtmodulesR3tsalt.defaults.exitcodesRtsalt.utils.jobtsalt.utils.parserstsalt.utils.stringutilstsalt.logtsalt.utils.argsRtsalt.utils.verifyRtsalt.exceptionsRRRRR	R
Rtsalt.extRR0tparserstSaltCMDOptionParserR
(((s1/usr/lib/python2.7/site-packages/salt/cli/salt.pyt<module>s
4

Zerion Mini Shell 1.0