Anons79 Mini Shell

Directory : /lib/python2.7/site-packages/ansible/module_utils/
Upload File :
Current File : //lib/python2.7/site-packages/ansible/module_utils/firewalld.pyo

�
�Udac@s9ddlmZdZdZeZeZy�ddl	Z
e
jjZddl
mZddl
mZddlmZeZye�Zej�Wnweefk
r	eZyddlmZe�ZWn0ek
r�ddlmZede�ZnXej�nXWnek
rnXd	efd
��YZdS(i����(tLooseVersionN(tFirewallClient(tFirewallClientZoneSettings(t
FirewallError(t
Firewall_test(tFirewalltofflinetFirewallTransactioncBs�eZdZd
ddeeddd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd�Zd	�Z
d
�Zd�Zed��ZRS(sn
    FirewallTransaction

    This is the base class for all firewalld transactions we might want to have
    c		Cs�||_t|_||_|r-||_n'trEtj�|_ntj�|_||_||_||_	t|_|p�dg|_
|p�dg|_g|_d|_d|_dS(sq
        initializer the transaction

        :module:          AnsibleModule, instance of AnsibleModule
        :action_args:     tuple, args to pass for the action to take place
        :zone:            str,  firewall zone
        :desired_state:   str,  the desired state (enabled, disabled, etc)
        :permanent:       bool, action should be permanent
        :immediate:       bool, action should take place immediately
        :enabled_values:  str[], acceptable values for enabling something (default: enabled)
        :disabled_values: str[], acceptable values for disabling something (default: disabled)
        tenabledtdisabledN(tmoduletfwtaction_argstzonet
fw_offlinetget_default_zonetgetDefaultZonet
desired_statet	permanentt	immediatetenabled_valuestdisabled_valuestmsgstNonetenabled_msgtdisabled_msg(	tselfR
RR
RRRRR((sB/usr/lib/python2.7/site-packages/ansible/module_utils/firewalld.pyt__init__6s"									cCs�y||�SWn�tk
r�}dd|krC|jjd�nt|j�dkr�|jjdd|dj|j�f�q�|jjdd|�nXd	S(
s�
        Function to wrap calls to make actions on firewalld in try/except
        logic and emit (hopefully) useful error messages
        tINVALID_SERVICEs%ssfServices are defined by port/tcp relationship and named as they are in /etc/services (on most systems)itmsgsERROR: Exception caught: %s %ss, sERROR: Exception caught: %sN(t	ExceptionRtappendtlenR
t	fail_jsontjoin(Rtaction_functaction_func_argste((sB/usr/lib/python2.7/site-packages/ansible/module_utils/firewalld.pytaction_handleres cCsv|jrE|jjj|j�}tt|jjj|���}n'|jj�j|j�}|j	�}||fS(N(
RRtconfigtget_zoneR
Rtlisttget_zone_configt
getZoneByNametgetSettings(Rtfw_zonetfw_settings((sB/usr/lib/python2.7/site-packages/ansible/module_utils/firewalld.pytget_fw_zone_settings{s	!cCs6|jr%|jjj||j�n
|j|�dS(N(RRR'tset_zone_configtsettingstupdate(RR-R.((sB/usr/lib/python2.7/site-packages/ansible/module_utils/firewalld.pytupdate_fw_settings�s	cCs
t�dS(N(tNotImplementedError(R((sB/usr/lib/python2.7/site-packages/ansible/module_utils/firewalld.pytget_enabled_immediate�scCs
t�dS(N(R4(R((sB/usr/lib/python2.7/site-packages/ansible/module_utils/firewalld.pytget_enabled_permanent�scCs
t�dS(N(R4(R((sB/usr/lib/python2.7/site-packages/ansible/module_utils/firewalld.pytset_enabled_immediate�scCs
t�dS(N(R4(R((sB/usr/lib/python2.7/site-packages/ansible/module_utils/firewalld.pytset_enabled_permanent�scCs
t�dS(N(R4(R((sB/usr/lib/python2.7/site-packages/ansible/module_utils/firewalld.pytset_disabled_immediate�scCs
t�dS(N(R4(R((sB/usr/lib/python2.7/site-packages/ansible/module_utils/firewalld.pytset_disabled_permanent�scCs�t|_|jr�|jr�|j|j|j�}|j|j|j�}|jj	d�|j
|jkr|s{|r�|jj
r�|jjdt�q�n|s�|j|j|j�t|_n|s�|j|j|j�t|_n|jr�|jr�|jj	|j�q�qt|j
|jkrt|s9|r^|jj
r^|jjdt�q^n|r�|j|j|j�t|_n|r�|j|j|j�t|_n|jr�|jr�|jj	|j�q�qtn�|jr(|jr(|j|j|j�}|jj	d�|j
|jkr�|ss|jj
rQ|jjdt�n|j|j|j�t|_n|jr%|jr%|jj	|j�q%qt|j
|jkrt|r�|jj
r�|jjdt�n|j|j|j�t|_n|jr%|jr%|jj	|j�q%qtnL|jrt|jrt|j|j|j�}|jj	d�|j
|jkr�|s�|jj
r�|jjdt�n|j|j|j�t|_n|jrq|jrq|jj	|j�qqqt|j
|jkrt|rF|jj
r$|jjdt�n|j|j|j�t|_n|jrq|jrq|jj	|j�qqqtn|j|jfS(s�
        run

        This function contains the "transaction logic" where as all operations
        follow a similar pattern in order to perform their action but simply
        call different functions to carry that action out.
        s0Permanent and Non-Permanent(immediate) operationtchangedsPermanent operationsNon-permanent operation(tFalseR;RRR&R6RR5RRRRR
t
check_modet	exit_jsontTrueR8R7RRR:R9R(Rtis_enabled_permanenttis_enabled_immediatet
is_enabled((sB/usr/lib/python2.7/site-packages/ansible/module_utils/firewalld.pytrun�s�		







cCs�trCtrCtt�td�kr�|jddjt��q�n�tr�tr�tt�td�kr�|jddjt��ny&tjtkr�|jdd�nWq�tk
r�|jddt�q�Xnt	r�|jdd�nd	S(
sj
        Perform sanity checking, version checks, etc

        :module:    AnsibleModule instance
        s0.3.9RsRunsupported version of firewalld, offline operations require >= 0.3.9 - found: {0}s0.2.11sAunsupported version of firewalld, requires >= 0.2.11 - found: {0}s;firewalld service must be running, or try with offline=trues�firewalld connection can't be established,                        installed version (%s) likely too old. Requires firewalld >= 0.2.11s�Python Module not found: firewalld and its python module are required for this module,                         version 0.2.11 or newer required (0.3.9 or newer for offline operations)N(
t
FW_VERSIONRRR!tformatRt	connectedR<tAttributeErrortimport_failure(R
((sB/usr/lib/python2.7/site-packages/ansible/module_utils/firewalld.pytsanity_checks

		(N(t__name__t
__module__t__doc__RR<RR&R/R3R5R6R7R8R9R:RCtstaticmethodRI(((sB/usr/lib/python2.7/site-packages/ansible/module_utils/firewalld.pyR/s	.										�(tdistutils.versionRRRDRR<RR?RHtfirewall.configtfirewallR'tVERSIONtfirewall.clientRRtfirewall.errorsRRRGtfirewall.core.fw_testRtModuleNotFoundErrortfirewall.core.fwRtstarttImportErrortobjectR(((sB/usr/lib/python2.7/site-packages/ansible/module_utils/firewalld.pyt<module>s4	




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