Anons79 Mini Shell

Directory : /lib/python2.7/site-packages/ansible/module_utils/network/meraki/
Upload File :
Current File : //lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pyc

�
�Udac@sddlZddlZddlZddlmZmZmZddlmZddl	m
Z
ddlmZddl
mZmZmZdZdZd�Zd	efd
��YZdefd��YZd
efd��YZd�Zdefd��YZdS(i����N(t
AnsibleModuletjsontenv_fallback(tcamel_dict_to_snake_dict(t	fetch_url(t	urlencode(t	to_nativetto_bytestto_texticCs<tdtdddtdtdgfdt�dtddd	d
�dtddd	t�d
tddd	t�dtddd	t�dtdddddgd	ddtdgf�dtddd	ddddg�dtddd	d�dtddddg�dtdd�dtddd	d�d tddd	d!��S("Ntauth_keyttypetstrtno_logtfallbackt
MERAKI_KEYtrequiredthosttdefaultsapi.meraki.comt	use_proxytboolt	use_httpstvalidate_certst
output_formattchoicest	camelcaset	snakecasetANSIBLE_MERAKI_FORMATtoutput_leveltnormaltdebugttimeouttintitorg_nametaliasestorganizationtorg_idtrate_limit_retry_timei�tinternal_error_retry_timei<(tdicttTrueRtFalse(((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pytmeraki_argument_spec.s00!tRateLimitExceptioncBseZd�ZRS(cOstj|||�dS(N(t	Exceptiont__init__(tselftargstkwargs((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pyR,?s(t__name__t
__module__R,(((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pyR*>stInternalErrorExceptioncBseZd�ZRS(cOstj|||�dS(N(R+R,(R-R.R/((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pyR,Ds(R0R1R,(((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pyR2Cst	HTTPErrorcBseZd�ZRS(cOstj|||�dS(N(R+R,(R-R.R/((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pyR,Is(R0R1R,(((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pyR3Hscs�fd�}|S(Ncs=x6tr8y��|||�}|jdkrHtdj|j���n�|jdkrrtdj|j���nW|jdkr�tdj|j���n-|jdkr�tdj|j|���nd	|_|SWqtk
rx}|jd
7_|jdkr4|j|jt7_t	j
|jt�n|jd7_t	j
d�|j|jd
kr5t|��q5qtk
r}|jd
7_|jdkr�|j|jt7_t	j
|jt�n|jd7_t	j
d�|j|jdkr5t|��q5qtk
r4}t|��qXqWdS(Ni�sRate limiter hit, retry {0}i�s$Internal server error 500, retry {0}i�s$Internal server error 502, retry {0}i�sHTTP error {0} - {1}iii
iR$i	R%(
R'tstatusR*tformattretryR2R3t
retry_timetRATE_LIMIT_RETRY_MULTIPLIERttimetsleeptparamstINTERNAL_ERROR_RETRY_MULTIPLIER(R-R.R/tresponsete(tfunction(sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pytinnerNsH		

((R?R@((R?sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pyt
_error_reportMs'tMerakiModulecBs�eZdd�Zd�Zd�Zdd�Zd�Zddd�Zd�Z	ddd�Z
ddddd�Zdddd	�Zd
�Z
d�Zd�Zdd
�Zd�Zddddddd�Zeddd��Zd�Zd�ZRS(cCs7||_|j|_tdt�|_t�|_||_d|_d|_	d|_
d|_|j|_i|_
d|_d|_t�|_d|_t�|_d|_ddg|_d|_d|_d|_d|_d|_d|_d|_d|_i
dd6dd	6d
d6dd
6dd6dd6dd6dd6dd6dd6|_idd6dd	6|_i|jd6|jd6dd6dd6dd 6dd!6|_|jj s�|jd"d#kr�|jj!d$�nd%d&d'gfd%d(d'gfg|j_"d)d*d+g|_#id,d-6|jd.d/6|_dS(0NtchangeditidtorganizationIdts/organizationst
organizationss /organizations/{org_id}/networkstnetworks/organizations/{org_id}/adminstadminss'/organizations/{org_id}/configTemplatestconfigTemplatess!/organizations/{org_id}/samlRolest
samlymbolss/networks/{net_id}/ssidstssidss /networks/{net_id}/groupPoliciest
groupPoliciess/networks/{net_id}/staticRouteststaticRoutess/networks/{net_id}/vlanstvlanss/networks/{net_id}/devicestdevicess/organizations/{org_id}s/networks/{net_id}tget_alltget_onetcreatetupdatetdeletetmiscRRsREnable debug output because ANSIBLE_DEBUG was set or output_level is set to debug.tstatetpresentR tabsenttPOSTtPUTtDELETEsapplication/jsonsContent-TypeR	sX-Cisco-Meraki-API-Key($tmoduleR;R&R(tresulttheadersR?tNonetorgstnetsR#tnet_idt
check_modetkey_maptrequest_attemptstexistingtconfigtoriginaltproposedtmergedtignored_keyst
filter_stringtmethodtpathR=R4turlR6R7tget_urlstget_one_urlsturl_catalogt_debugtwarntrequired_iftmodifiable_methods(R-R]R?((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pyR,zsf																			







cCs4|jdtkr#d|jd<n
d|jd<dS(s+Set protocol based on use_https parameters.RthttpstprotocolthttpN(R;R'(R-((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pytdefine_protocol�scCs<t|t�r�i}x�|j�D]�\}}y:i|||j|6}|j||�||j|<Wq"tk
r�tjdd|�j�}i|||6}|j||�||<q"Xq"W|St|t	�rg}x$|D]}|j
|j|��q�W|St|t�s4t|t�s4t|t
�r8|SdS(Ns([a-z0-9])([A-Z])s\1_\2(t
isinstanceR&titemsRet
sanitize_keystKeyErrortretsubtlowertlisttappendRRtfloat(R-tdataR}tktvtnewtsnake_kti((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pyR~�s$"

-cCs5|jjd�|dk	r/|j||_nt|�t|�krKtSt|t�r�t|�t|�krvtSx�t||�D]"\}}|j	||�r�tSq�Wn�t|t
�r!xp|j�D]O\}}||jkr�||kr|j	||||�rtSqtSq�q�Wn||kr1tStS(s Compare two data-structures RcN(
RlR�R`R
R'R|R�tlentziptis_update_requiredR&R}R((R-RiRjtoptional_ignoretatbR�R�((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pyR��s*cCsG|jddd�}|jdkr7|jdd�n||_|jS(s'Downloads all organizations for a user.s/organizationsRntGETi�tmsgsOrganization lookup failed(trequestR4t	fail_jsonRa(R-R=((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pytget_orgss
	cCs�d}|dk	rCx.|D]#}|d|kr|d7}qqWn|dk	r�x.|D]#}|d|krV|d7}qVqVWn|S(s�Checks whether a specific org exists and is duplicated.

        If 0, doesn't exist. 1, exists and not duplicated. >1 duplicated.
        itnameiRDN(R`(R-R�R R#t	org_countto((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pytis_org_valids

cCs�|j�}|jdd
k	rO|j|d|jd�tkrO|jdSn|j|d|�}|dkr�|jddjd|��n|dkr�|jddjd|��n>|dkr�x/|D]$}||dkr�t|d	�Sq�Wnd
S(s�Returns an organization id based on organization name, only if unique.

        If org_id is specified as parameter, return that instead of a lookup.
        R#R iR�s3There are no organizations with the name {org_name}is9There are multiple organizations with the name {org_name}R�RDN(R�R;R`R�R'R�R5R(R-R RaR�R�((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pyt
get_org_ids"
cCs�|r|j|�}n|jdd|dd�}|j|dd�}|jdkrj|jdd	�n||_|j|�}x|D]}|jj|�q�W|jS(
s*Downloads all networks in an organization.RQR#R?RHRnR�i�R�sNetwork lookup failed(R�tconstruct_pathR�R4R�Rbtget_config_templatesR�(R-R R#Rotrt	templatestt((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pytget_nets0s	
cCs�|s3|s|j|�}n|jd|�}nxH|D]@}|r]|d|krz|Sq:|r:|d|krz|Sq:q:WtS(s Return network information R#RDR�(R�R�R((R-R tnet_nameR#R�Rctn((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pytget_net>s
cCse|dkr|jdd�nx&|D]}|d|kr&|dSq&W|jddj|��dS(s/Return network id from lookup or existing data.R�sMust implement lookupR�RDs"No network found with the name {0}N(R`R�R5(R-R R�R�R�((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pyt
get_net_idMs
cCsS|jdddd|�}|j|d�}|jdkrO|jdd�n|S(	NRQR?RJR#R�i�R�s%Unable to get configuration templates(R�R�R4R�(R-R#RoR=((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pyR�Vs
cCsFx&|D]}||dkr|dSqW|jddj|��dS(NR�RDR�s)No configuration template named {0} found(R�R5(R-R�R�ttemplate((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pytget_template_id]s
cCsYt|t�rt|dd�St|t�rQg|D]}t|dd�^q5S|SdS(s�
        Converts a dictionary or list to snake case from camel case
        :type data: dict or list
        :return: Converted data structure, if list or dict
        tignore_listttagsttagN(R�R�(R�R�(R|R&RR�(R-R�titem((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pytconvert_camel_to_snakecs
#cCsVi}xI|D]A}||kr:|jj||||<q
|jj|||<q
W|S(N(R]R;(R-tkeysR!tqstkey((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pytconstruct_params_listqs
cCsdjt|��S(sEncodes key value pairs for URLs?{0}(R5R(R-R;((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pytencode_url_paramszsc	Cs�d}|dkr)|j||j}n|j||}|rR|j|�}n|rv|jd|d||�}n|jd|d|�}|r�||j|�7}n|S(siBuild a path from the URL catalog.
        Uses function property from class for catalog lookup.
        R#RcN(R`RsR?R�R5R�(	R-tactionR?R#RcR tcustomR;t
built_path((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pyR�~scCs�||_|j�|dk	r+||_ndjd|jjd�|j�|_t|j	|jd|j
d|d|jd|jdd|jd�\}}|d	|_|d
|_yt
jt|j���SWntk
r�nXdS(s(Generic HTTP method for Meraki requests.s!{protocol}://{host}/api/v0/{path}Rot/R_R�RnRRR�R4N(RoR{R`RnR5tlstripR;RpRR]R_R=R4RtloadsRtreadR+(R-RoRntpayloadtresptinfo((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pyR��s"	
'		



cKs$|j|jd<|j|jd<|jdkrN|jjdj|j��n|jddkr�|j|jd<|j	|jd<n|jj
|�|jd	d
kr�|jjddd
�nMd|jkr
y!|j|jd�|jd<Wq
t
tfk
r	q
Xn|jj|j�dS(s*Custom written method to exit from module.R=R4is(Rate limiter triggered - retry count {0}RRRnRpRRsOUpdate your playbooks to support snake_case format instead of camelCase format.tversiong
ףp=
@R�N(R=R^R4R6R]RuR5R;RnRpRTt	deprecateR�RtAttributeErrort	exit_json(R-R/((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pyR��s !cKs�|j|jd<|j|jd<|jddkrh|jdk	rh|j|jd<|j|jd<qhn|jj|�|jj	d||j�dS(	s0Custom written method to return info on failure.R=R4RRRnRpR�N(
R=R^R4R;RpR`RnRTR]R�(R-R�R/((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pyR��sN(R0R1R`R,R{R~R�R�R�R�R�R�R�R�R�R�R�R�R�RAR�R�R�(((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pyRBxs2N		 									(R9tosR�tansible.module_utils.basicRRRt0ansible.module_utils.common.dict_transformationsRtansible.module_utils.urlsRt+ansible.module_utils.six.moves.urllib.parseRtansible.module_utils._textRRRR8R<R)R+R*R2R3RAtobjectRB(((sN/usr/lib/python2.7/site-packages/ansible/module_utils/network/meraki/meraki.pyt<module> s		+

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]