%PDF- %PDF-
Mini Shell

Mini Shell

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

�
���^c@@s�dZddlmZmZmZddlZeje�Zd�Z	dd�Z
dd�Zddd�Z
dddd	�Zdd
�ZdS(u
Management of ipsets
======================

This is an ipset-specific module designed to manage IPSets for use
in IPTables Firewalls.

.. code-block:: yaml

    setname:
      ipset.set_present:
        - set_type: bitmap:ip
        - range: 192.168.0.0/16
        - comment: True

    setname:
      ipset.set_absent:
        - set_type: bitmap:ip
        - range: 192.168.0.0/16
        - comment: True

    setname_entries:
      ipset.present:
        - set_name: setname
        - entry: 192.168.0.3
        - comment: Hello
        - require:
            - ipset: baz

    setname_entries:
      ipset.present:
        - set_name: setname
        - entry:
            - 192.168.0.3
            - 192.168.1.3
        - comment: Hello
        - require:
            - ipset: baz

    setname_entries:
      ipset.absent:
        - set_name: setname
        - entry:
            - 192.168.0.3
            - 192.168.1.3
        - comment: Hello
        - require:
            - ipset: baz

    setname:
      ipset.flush:

i(tabsolute_importtprint_functiontunicode_literalsNcC@s
dtkS(u@
    Only load if the ipset module is available in __salt__
    u
ipset.version(t__salt__(((s5/usr/lib/python2.7/site-packages/salt/states/ipset.pyt__virtual__=suipv4cK@si|d6id6dd6dd6}td|�}|tkrbt|d<dj||�|d<|Stdr�d	j||�|d<|Std
||||�}|tkr�i|d6|d<t|d<dj||�|d<|St|d<d
j||j�|�|d<|SdS(u�
    .. versionadded:: 2014.7.0

    Verify the set exists.

    name
        A user-defined set name.

    set_type
        The type for the set.

    family
        Networking family, either ipv4 or ipv6
    unameuchangesuresultuucommentuipset.check_setu$ipset set {0} already exists for {1}utestu$ipset set {0} would be added for {1}u
ipset.new_setulocaleu*ipset set {0} created successfully for {1}u%Failed to create set {0} for {2}: {1}N(tNoneRtTruetformatt__opts__tFalsetstrip(tnametset_typetfamilytkwargstrett	set_checktcommand((s5/usr/lib/python2.7/site-packages/salt/states/ipset.pytset_presentDs8






	
cK@sHi|d6id6dd6dd6}td||�}|s_t|d<dj||�|d<|Stdr�d	j||�|d<|Std
||�}|rtd||�}|tkr�i|d6|d<t|d<d
j||�|d<qDt|d<dj||j�|�|d<n)t|d<dj||j�|�|d<|S(u~
    .. versionadded:: 2014.7.0

    Verify the set is absent.

    family
        Networking family, either ipv4 or ipv6
    unameuchangesuresultuucommentuipset.check_setu'ipset set {0} for {1} is already absentutestu&ipset set {0} for {1} would be removeduipset.flushuipset.delete_setulocaleu1ipset set {0} deleted successfully for family {1}u%Failed to delete set {0} for {2}: {1}u$Failed to flush set {0} for {2}: {1}N(RRRRRR	R
(RR
RRRt	flush_setR((s5/usr/lib/python2.7/site-packages/salt/states/ipset.pyt
set_absentvs@








	
c	
K@s:i|d6id6td6dd6}|s@t|d<d|d<|Sg}t|t�r^|}n
|j|�x�|D]�}d}d|kr�|jdd�\}}nd	|kr�d	|kr�d
j|d	|�}nd|krd|krdj||d�}ndj||j�g�j	�}t
d|d
||�tkrn|dcdj||d
|�7<qrtdr�d|d<|dcdj||d
|�7<qrt
d|d
|||�}d|kri|d6|d<|dcdj||d
|�7<qrt|d<dj|d
|||�|d<qrW|S(uZ
    .. versionadded:: 2014.7.0

    Append a entry to a set

    name
        A user-defined name to call this entry by in another part of a state or
        formula. This should not be an actual entry.

    entry
        A single entry to add to a set or a list of entries to add to a set

    family
        Network family, ipv4 or ipv6.

    unameuchangesuresultuucommentuipset entry must be specifiedu iutimeoututimeout {0} {1}u{0} comment "{1}"uipset.checkuset_nameu)entry for {0} already in set {1} for {2}
utestu3entry {0} would be added to set {1} for family {2}
u	ipset.adduErrorulocaleu*entry {0} added to set {1} for family {2}
u9Failed to add to entry {1} to set {0} for family {2}.
{3}N(
RR	t
isinstancetlisttappendtsplitRtjointlstripR
RRR(	RtentryR
RRtentriest
entry_optst_entryR((s5/usr/lib/python2.7/site-packages/salt/states/ipset.pytpresent�s\



	

!


c	
K@sXi|d6id6td6dd6}|s@t|d<d|d<|Sg}t|t�r^|}n
|j|�x�|D]�}d}d|kr�|jdd�\}}nd	|kr�d	|kr�d
j|d	|�}nd|krd|krdj||d�}ndj||g�j�}t	j
d|�td
|d||�tk	r�t|d<|dcdj||d|�7<qrtdr�d|d<|dcdj||d|�7<qrtd|d|||�}d|kr&i|d6|d<t|d<|dcdj|d||�7<qrt|d<dj|d|||�|d<qrW|S(u
    .. versionadded:: 2014.7.0

    Remove a entry or entries from a chain

    name
        A user-defined name to call this entry by in another part of a state or
        formula. This should not be an actual entry.

    family
        Network family, ipv4 or ipv6.

    unameuchangesuresultuucommentuipset entry must be specifiedu iutimeoututimeout {0} {1}u{0} comment "{1}"u	_entry %suipset.checkuset_nameu3ipset entry for {0} not present in set {1} for {2}
utestu6ipset entry {0} would be removed from set {1} for {2}
uipset.deleteuErrorulocaleu-ipset entry {1} removed from set {0} for {2}
uPFailed to delete ipset entry from set {0} for {2}. Attempted entry was {1}.
{3}
N(RR	RRRRRRR
tlogtdebugRRR(	RRRR
RRRRR((s5/usr/lib/python2.7/site-packages/salt/states/ipset.pytabsent�s`



	






cK@s�i|d6id6dd6dd6}td|�}|tkrbt|d<dj||�|d<|Stdr�d	j||�|d<|Std
||�r�i|d6|d<t|d<dj||�|d<|St|d<d
j||�|d<|SdS(u}
    .. versionadded:: 2014.7.0

    Flush current ipset set

    family
        Networking family, either ipv4 or ipv6

    unameuchangesuresultuucommentuipset.check_setu$ipset set {0} does not exist for {1}utestu1ipset entries in set {0} for {1} would be flusheduipset.flushulocaleu*Flushed ipset entries from set {0} for {1}u2Failed to flush ipset entries from set {0} for {1}N(RRR	RRR(RR
RRR((s5/usr/lib/python2.7/site-packages/salt/states/ipset.pytflush8s4








(t__doc__t
__future__RRRtloggingt	getLoggert__name__R RRRRRR"R#(((s5/usr/lib/python2.7/site-packages/salt/states/ipset.pyt<module>6s	20II

Zerion Mini Shell 1.0