Anons79 Mini Shell

Directory : /proc/self/root/lib/python2.7/site-packages/ansible/module_utils/
Upload File :
Current File : //proc/self/root/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyc

�
�Udac@`sddlmZmZmZeZddlZddlZddlZddl	Z	ddl
mZmZddl
mZdZy&ddlmZmZmZeZWn#ek
r�e	j�ZeZnXejdkr�eZnd�Zd�Zd	dd
��YZdS(
i(tabsolute_importtdivisiontprint_functionN(tto_textt	to_native(tmissing_required_lib(t
CloudStacktCloudStackExceptiontread_configicC`s�tdtdtjjd��dtdtjjd�dt�dtdtjjd��d	td
ddgdtjjd
��dtdddtjjd��dtdtjjd�p�d��S(Ntapi_keytdefaulttCLOUDSTACK_KEYt
api_secrettCLOUDSTACK_SECRETtno_logtapi_urltCLOUDSTACK_ENDPOINTtapi_http_methodtchoicestgettposttCLOUDSTACK_METHODtapi_timeoutttypetinttCLOUDSTACK_TIMEOUTt
api_regiontCLOUDSTACK_REGIONt
cloudstack(tdicttostenvironRtTrue(((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pytcs_argument_specs!'!cC`s
ddggS(NR	R((((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pytcs_required_together)stAnsibleCloudStackcB`s�eZd�Zed��Zd�Zd�Zd%d%d�Zd%d%d�Z	d%d%d�Z
d�Zd%d�Zd%d	�Z
d
�Zd%d�Zd%d�Zd%d
�Zd%d�Zd�Zd�Zd%ed�Zd%d�Zd%d�Zd%d�Zd�Zd%d�Zd%d�Zd�Zd%dd�Zdd�Zd�Z d�Z!d%d�Z"d%d �Z#d%d%d!�Z$d%d"�Z%d#�Z&d$�Z'RS(&cC`sjts%|jdtd�dt�nitd6it�d6t�d6d6|_idd6d	d	6d
d
6dd6d
d
6dd6dd6dd6dd6dd6dd6|_i|_i|_	ddddg|_
||_d|_
d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_dS(Ntmsgtcst	exceptiontchangedtbeforetaftertdifftidtnametcreatedtzonetzonenametstatetprojecttaccounttdomaintdisplay_texttdisplaytexttdisplay_nametdisplaynametdescription(t
HAS_LIB_CSt	fail_jsonRt
CS_IMP_ERRtFalseRtresulttcommon_returnstreturnstreturns_to_inttcase_sensitive_keystmoduletNonet_cst_vpc_networks_idsR3R2R1t
ip_addresstnetworktphysical_networktvpcR.tvmtvm_default_nictos_typet
hypervisortcapabilitiestnetwork_acl(tselfRB((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyt__init__/sT

																		cC`s4|jdkr-|j�}t|�|_n|jS(N(RDRCtget_api_configR(RPt
api_config((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyR%lsc
C`s�|jjjd�p$tjjd�}yt|�}Wntk
rPi}nXi|jjjd�pu|jd�d6|jjjd�p�|jd�d6|jjjd�p�|jd�d6|jjjd	�p�|jd
�p�dd
6|jjjd�p|jd
�pdd
6}|jji|d6|dd6|dd6t	|d
�d	6|d
d6�t
|d|d|dg�s�|jdd�n|S(NRRRtendpointR	tkeyRtsecretRttimeouti
RtmethodRR$s-Missing api credentials: can not authenticate(RBtparamsRRRRtKeyErrorR=tupdateRtallR:(RPRtconfigRS((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyRRss('

%%%+.!cK`s'|jj|�|jj|j�dS(N(R=R[RBR:(RPtkwargs((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyR:�scC`s7|jjj|�}|s3|jjj|�}n|S(N(RBRYR(RPRUtfallback_keytvalue((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pytget_or_fallback�sc
C`s�t}x�|j�D]�\}}|r7||kr7qn|dkrIqn||krUt|ttttf�rgt|t�r�t||�||<nrt|t�r�t||�||<nLt|t�r�t||�||<n&t|t�rt||�||<n|||krR|r[||kr[|||jdd|<||jdd|<nt	}qRq�t
||�}t
|�}	|jr�||jkr�||	krR|r�||kr�||jdd|<|	|jdd|<nt	}qRq�|j�|	j�kr�|rI||krI||jdd|<|	|jdd|<nt	}q�q|r�||kr�d|jdd|<t
|�|jdd|<nt	}qW|S(NR*R(R)(
R<titemsRCt
isinstanceRtfloattlongtcomplexR=R RRAtlower(
RPt	want_dicttcurrent_dictt	only_keystskip_diff_for_keysR=RUR`tbefore_valuetafter_value((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pythas_changed�sN
cC`sJ|dkri}n|rF||kr/||S|jdd|�n|S(NR$s"Something went wrong: %s not found(RCR:(RPRUtmy_dict((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyt_get_by_key�s	cK`s�yCt|j|�|�}d|krB|jdd|d�nWnUtk
rr}|jddt|��n)tk
r�}|jdt|��nX|S(Nt	errortextR$sFailed: '%s'sCloudStackException: %s(tgetattrR%R:RRt	Exception(RPtcommandtargstreste((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyt	query_api�scC`s�|jdkr�i|jjjd�d6|jdd�d6}|jd|�}|r�|dd|_|jd|jd<q�n|jr�|j||j�S|j	d	d
|jjjd��dS(NROR,RUR+tvpcidtlistNetworkACLListstnetworkacllistiR$sNetwork ACL %s not found(
RORCRBRYRtget_vpcRxR=RpR:(RPRURutnetwork_acls((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pytget_network_acl�s	cC`sz|jr|j||j�S|jjjd�}|sLtjjd�}n|sVdSi|jdd�d6|j	dd�d6|j
dd�d6|jdd�d	6}|jd
|�}|s�|j
dd�nxp|dD]d}||d|d
|dgkr�|jr%|j
dd|�qB||_|d|jd<q�q�W|jrb|j||j�S|j
dd|�dS(s5Return a VPC dictionary or the value of given key of.RItCLOUDSTACK_VPCRUR,R2R+tdomainidt	projectidtzoneidtlistVPCsR$sNo VPCs available.R5s9More than one VPC found with the provided identifyer '%s'sVPC '%s' not foundN(RIRpRBRYRRRRCtget_accountt
get_domaintget_projecttget_zoneRxR:R=(RPRURIRutvpcstv((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyR|�s0	!			cC`s�|jdkr�i|jdd�d6|jdd�d6|jdd�d6|jdd�d6}|jd|�}g|_|r�xF|d	D]7}x.|jd
g�D]}|jj|d�q�Wq�Wq�n||jkS(s"Returns True if network is in VPC.RUR,R2R+R�R�R�R�RIRGN(	RERCR�R�R�R�RxRtappend(RPt
network_idRuR�RItn((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pytis_vpc_networks	"cC`s�|jr|j||j�S|jjjd�}i|jdd�d6}|jd|�}|su|jdd�nxY|dD]M}||d	|dgkr�||_|d	|jd<|j||j�Sq�W|jdd
|�dS(NRHRUR+R�tlistPhysicalNetworksR$sNo physical networks available.tphysicalnetworkR,sPhysical Network '%s' not found(	RHRpRBRYRR�RxR:R=(RPRURHRutphysical_networkstnet((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pytget_physical_network&s		cC`s�|jr|j||j�S|jjjd�}|sj|jdd�}|rf|jdd|�ndSi|jdd�d6|j	dd�d6|j
dd�d	6|jdd�d
6|jdd�d6}|jd|�}|s�|jdd
�nx�|dD]y}d|kr0|jdd�r0qn||d|d|dgkr|d|j
d<||_|j||j�SqW|jdd|�dS(s9Return a network dictionary or the value of given key of.RGRUR,R$sACould not find network for VPC '%s' due missing argument: networkR2R+R�R�R�RytlistNetworkssNo networks available.R5sNetwork '%s' not foundN(RGRpRBRYRR|R:RCR�R�R�R�RxR=(RPRURGtvpc_nameRutnetworksR�((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pytget_network8s2	!	cC`s|jr|j||j�S|jjjd�}|sLtjjd�}n|sVdSi|jdd�d6|j	dd�d6}|j
d|�}|rxh|dD]Y}|j�|dj�|dgkr�|d|jd<||_|j||j�Sq�Wn|j
d	d
|�dS(NR1tCLOUDSTACK_PROJECTRUR,R2R+R�tlistProjectsR$sproject '%s' not found(R1RpRBRYRRRRCR�R�RxRgR=R:(RPRUR1Rutprojectstp((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyR�Ys$	&	cC`s�|jr|j||j�S|jjjd�}|sJ|jdd�ni|d6|jdd�d6|jdd�d	6|jdd�d
6|j	dd�d6}|j
d|�}|s�|jdd
|d�n|dd|_|j||j�S(NRFR$s)IP address param 'ip_address' is requiredt	ipaddressRUR,R2R+R�R�RytlistPublicIpAddressessIP address '%s' not foundtpublicipaddressi(RFRpRBRYRR:R�R�R�R|Rx(RPRURFRutip_addresses((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pytget_ip_addressos 	cC`sp|jjjd�}|j�}|s/|dSx&|dD]}||dkr:|Sq:W|jdd|�dS(Ntvm_guest_ipR�tsecondaryipR$s$Secondary IP '%s' not assigned to VM(RBRYRtget_vm_default_nicR:(RPR�tdefault_nictsecondary_ip((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pytget_vm_guest_ip�scC`s�|jr|jS|jdd|jdd��}|rix/|dD] }|drB||_|jSqBWn|jdd|jjjd	��dS(
NtlistNicstvirtualmachineidRUR+tnict	isdefaultR$s&No default IP address of VM '%s' foundRJ(RKRxtget_vmR:RBRYR(RPtnicsR�((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyR��s	!
	cC`sB|jr|j||j�S|jjjd�}|sJ|jdd�ni|jdd�d6|jdd�d6|jdd�d	6|r�|j	dd�ndd
6td6}|jd|�}|r*x`|D]U}|j
�|dj
�|d
j
�|dgkr�||_|j||j�Sq�Wn|jdd|�dS(NRJR$s&Virtual machine param 'vm' is requiredRUR,R2R+R�R�R�t
fetch_listtlistVirtualMachinesR7sVirtual machine '%s' not found(RJRpRBRYRR:R�R�R�R�RCR RxRg(RPRUtfilter_zoneRJRutvmsR�((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyR��s$	

3	cC`s�|jjjd�}|sdS|jd�}|r}xF|dD]7}||d|d|dgkr?|j||�Sq?Wn|jdd|�dS(	Nt
disk_offeringtlistDiskOfferingstdiskofferingR5R,R+R$sDisk offering '%s' not found(RBRYRRCRxRpR:(RPRUR�tdisk_offeringstd((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pytget_disk_offering�s!cC`s;|jr|j||j�S|jjjd�}|sLtjjd�}n|jd�}|st|jdd�n|s�|dd|_|jd|j	d<|j||j�S|r#xh|dD]Y}|j
�|dj
�|dgkr�|d|j	d<||_|j||j�Sq�Wn|jdd	|�dS(
NR.tCLOUDSTACK_ZONEt	listZonesR$s.No zones available. Please create a zone firstiR,R+szone '%s' not found(R.RpRBRYRRRRxR:R=Rg(RPRUR.tzonestz((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyR��s&	&	cC`s�|jr|j||j�S|jjjd�}|s;dS|jd�}|r�xK|dD]<}||d|dgkr[||_|j||j�Sq[Wn|jdd|�dS(NRLtlistOsTypestostypeR8R+R$sOS type '%s' not found(	RLRpR.RBRYRRCRxR:(RPRURLtos_typesto((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pytget_os_type�s		cC`s�|jr|jS|jjjd�}|jd�}|sV|ddd|_|jSxB|dD]6}|j�|dj�kra|d|_|jSqaW|jdd|�dS(NRMtlistHypervisorsiR,R$sHypervisor '%s' not found(RMRBRYRRxRgR:(RPRMthypervisorsth((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pytget_hypervisor�s	
cC`s|jr|j||j�S|jjjd�}|sLtjjd�}n|sVdS|jjjd�}|s�|jdd�ni|d6|j	dd�d	6t
d
6}|jd|�}|r�|dd|_|jd|jd<|j||j�S|jdd
|�dS(NR2tCLOUDSTACK_ACCOUNTR3R$s%Account must be specified with DomainR,RUR+R�tlistalltlistAccountsisAccount '%s' not found(
R2RpRBRYRRRRCR:R�R RxR=(RPRUR2R3Rutaccounts((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyR��s(	
cC`s|jr|j||j�S|jjjd�}|sLtjjd�}n|sVdSitd6}|j	d|�}|r�x{|dD]l}|dj
�|j
�d|j
�d|j
�gkr�||_|d|jd<|j||j�Sq�Wn|jdd	|�dS(
NR3tCLOUDSTACK_DOMAINR�tlistDomainstpathsroot/trootR$sDomain '%s' not found(
R3RpRBRYRRRRCR RxRgR=R:(RPRUR3RutdomainsR�((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyR�s"	
9	cC`s@i|dd6|d6}|jd|�}|jd|dd�S(NR+t
resourceidtresourcetypetlistTagstresourceRUttag(Rxtget_tags(RPR�t
resource_typeRuttags((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyt
query_tags/s

R�cC`sMg}x@|j|�pgD])}|ji|dd6|dd6�qW|S(NRUR`(RR�(RPR�RUt
existing_tagsR�((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyR�7s'tcreatecC`s�|r�t|jd<|jjs�i|dd6|d6|d6}|dkr_|jd|�}n|jd|�}|j|�q�ndS(	NR'R+tresourceidsR�R�R�t
createTagst
deleteTags(R R=RBt
check_modeRxtpoll_job(RPR�R�R�t	operationRutresponse((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyt
_process_tags=s

cC`s2|j|�}g|D]}||kr|^qS(N(R�(RPR�R�R�R�((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyt%_tags_that_should_exist_or_be_updatedLscC`s2|j|�}g|D]}||kr|^qS(N(R�(RPR�R�R�R�((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyt_tags_that_should_not_existPscC`s�|s|r!|jdd�nd|kr�|jjjd�}|dk	r�|j|||j||�dd�|j|||j||��|jd|d|�|d<q�n|S(NR$s2Error: Missing resource or resource_type for tags.R�R�tdeleteR�R�(	R:RBRYRRCR�R�R�R�(RPR�R�R�((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pytensure_tagsTs%"cC`sK|jr|j||j�S|jd�}|d|_|j||j�S(NtlistCapabilitiest
capability(RNRpRx(RPRURN((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pytget_capabilities`s
	
cC`s�d|kr�x�tr�|jdd|d�}|ddkr�d|kr�d|dkry|jdd|dd�n|r�||dkr�|d|}nPntjd	�qWn|S(
NtjobidtqueryAsyncJobResultt	jobstatusit	jobresultRqR$sFailed: '%s'i(R RxR:ttimetsleep(RPtjobRURv((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyR�gs	cC`s�|dkrt�}n|r�|jj�}|j|j�x7|j�D])\}}||krJ||||<qJqJWx@|jj�D]/\}}||kr�t||�||<q�q�Wd|kr�|d|d<q�n|S(NR�(	RCRR>tcopyR[R?RbR@R(RPR�R=R?t
search_keyt
return_key((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyt
update_resultwscC`s|j||j�S(N(R�R=(RPR�((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyt
get_result�scC`sk|j|�}i|j�|6}x2ddgD]$}|||kr/|||=q/q/W|jd|�|S(NR*R't
ansible_facts(R�R�R[(RPt
facts_nameR�R=R�tk((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pytget_result_and_facts�sN((t__name__t
__module__RQtpropertyR%RRR:RCRaRnRpRxR~R|R�R�R�R�R�R�R�R R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�(((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyR#-sF	=		6		!	!		
					(i(( t
__future__RRRRt
__metaclass__RtsysR�t	tracebacktansible.module_utils._textRRtansible.module_utils.basicRRCR;R%RRRR R9tImportErrort
format_excR<tversion_infoRReR!R"R#(((sC/usr/lib/python2.7/site-packages/ansible/module_utils/cloudstack.pyt<module>s&


			

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