??????????????
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 173

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 174

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 175

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 176

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 177

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 178
ó àUdac@`s(ddlmZmZmZeZidd6dgd6dd6ZdZd Zd Z dd l Z dd l Z dd l m Z dd lmZddlmZmZmZddlmZmZddd„ƒYZd„Zd„Zd„Zd„Zd„Zd„Zd„Zedkr$eƒnd S(i(tabsolute_importtdivisiontprint_functions1.1tmetadata_versiontpreviewtstatust communityt supported_bys  --- module: asa_og version_added: "2.8" author: - "Federico Olivieri (@Federico87)" short_description: Manage object groups on a Cisco ASA description: - This module allows you to create and update object-group network/service on Cisco ASA device. options: name: description: - Name of the object group. required: true group_type: description: - The object group type. choices: ['network-object', 'service-object', 'port-object'] required: true protocol: description: - The protocol for object-group service with port-object. choices: ['udp', 'tcp', 'tcp-udp'] host_ip: description: - The host IP address for object-group network. type: list description: description: - The description for the object-group. group_object: description: - The group-object for network object-group. type: list ip_mask: description: - The IP address and mask for network object-group. type: list port_range: description: - The port range for port-object. port_eq: description: - The single port for port-object. service_cfg: description: - The service-object configuration protocol, direction, range or port. state: description: - Manage the state of the resource. default: present choices: ['present', 'absent', 'replace'] s” --- - name: configure network object-group asa_og: name: ansible_test_0 group_type: network-object state: present description: ansible_test object-group description host_ip: - 8.8.8.8 - 8.8.4.4 ip_mask: - 10.0.0.0 255.255.255.0 - 192.168.0.0 255.255.0.0 group_object: - awx_lon - awx_ams - name: configure port-object object-group asa_og: name: ansible_test_1 group_type: port-object state: replace description: ansible_test object-group description protocol: tcp-udp port_eq: - 1025 - kerberos port_range: - 1025 5201 - 0 1024 - name: configure service-object object-group asa_og: name: ansible_test_2 group_type: service-object state: absent description: ansible_test object-group description service_cfg: - tcp destination eq 8080 - tcp destination eq www sÒ commands: description: command sent to the device returned: always type: list sample: [ "object-group network ansible_test_0", "description ansible_test object-group description", "network-object host 8.8.8.8", "network-object host 8.8.4.4", "network-object 10.0.0.0 255.255.255.0", "network-object 192.168.0.0 255.255.0.0", "network-object 192.168.0.0 255.255.0.0", "group-object awx_lon", "group-object awx_ams", ] N(t AnsibleModule(t check_args(t get_configt load_configt run_commands(t NetworkConfigtdumpstParsercB`s_eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z RS( sRegex class for outputs parsingcC`s||_||_dS(sParser __init__ methodN(tconfigtprotocol(tselfRR((sF/usr/lib/python2.7/site-packages/ansible/modules/network/asa/asa_og.pyt__init__Œs cC`sÈtƒ}tjd|jtjƒ}|rÄ|jdƒrX|jt|jdƒƒƒn |jtƒ|jdƒr“|jt|jdƒƒƒn|jdƒrÄ|jt|jdƒƒƒqÄn|S(NsA(?:object-group\s)(network\s|service\s)(\w+)\s?(tcp-udp|tcp|udp)?iii( tlisttretsearchRtMtgrouptappendtstrtFalse(Rt list_returntmatch((sF/usr/lib/python2.7/site-packages/ansible/modules/network/asa/asa_og.pytparse_obj_grp_name‘s  "cC`s8tjd|jtjƒ}|r4|jdƒ}|SdS(Ns(description\s)(.*)i(RRRRR(RRt description((sF/usr/lib/python2.7/site-packages/ansible/modules/network/asa/asa_og.pytparse_description£scC`sftƒ}tjd|jtjƒ}|rbx5|D]*}|dr1|jt|dƒƒq1q1Wn|S(Ns(host\s)(\d+\.\d+\.\d+\.\d+)i(RRtfindallRRRR(RRRti((sF/usr/lib/python2.7/site-packages/ansible/modules/network/asa/asa_og.pyt parse_hostªs   !cC`sftƒ}tjd|jtjƒ}|rbx5|D]*}|dr1|jt|dƒƒq1q1Wn|S(Ns(group-object\s)(.*)i(RRR!RRRR(RRRR"((sF/usr/lib/python2.7/site-packages/ansible/modules/network/asa/asa_og.pytparse_group_objectµs   !cC`sftƒ}tjd|jtjƒ}|rbx5|D]*}|dr1|jt|dƒƒq1q1Wn|S(Ns:(network-object\s)(\d+\.\d+\.\d+\.\d+\s\d+\.\d+\.\d+\.\d+)i(RRR!RRRR(RRRR"((sF/usr/lib/python2.7/site-packages/ansible/modules/network/asa/asa_og.pyt parse_addressÀs   !cC`sftƒ}tjd|jtjƒ}|rbx5|D]*}|dr1|jt|dƒƒq1q1Wn|S(Ns (range\s)(.*)i(RRR!RRRR(RRRR"((sF/usr/lib/python2.7/site-packages/ansible/modules/network/asa/asa_og.pytparse_port_rangeËs   !cC`sftƒ}tjd|jtjƒ}|rbx5|D]*}|dr1|jt|dƒƒq1q1Wn|S(Ns (eq\s)(.*)i(RRR!RRRR(RRRR"((sF/usr/lib/python2.7/site-packages/ansible/modules/network/asa/asa_og.pyt parse_port_eqÖs   !cC`sftƒ}tjd|jtjƒ}|rbx5|D]*}|dr1|jt|dƒƒq1q1Wn|S(Ns(service-object\s)(.*)i(RRR!RRRR(RRRR"((sF/usr/lib/python2.7/site-packages/ansible/modules/network/asa/asa_og.pytparse_service_cfgás   !( t__name__t __module__t__doc__RRR R#R$R%R&R'R((((sF/usr/lib/python2.7/site-packages/ansible/modules/network/asa/asa_og.pyR‰s    cC`sXtƒ}tƒ}|jd}|jd}|jd}t|ddj|ƒgƒ}t||ƒjƒ}||d<|rþ|dtk r§d|d <|d|d tsortedtset(t want_dictthavetcommandst add_linest remove_linesR/R0t have_configR4R5R6R7R1R8R9R;R-R,RRthostRKtaddressRMRNROR"t set_add_linestset_remove_lines((sF/usr/lib/python2.7/site-packages/ansible/modules/network/asa/asa_og.pytreplace)s4                                  $            "          !  cC`s9tƒ}|djdƒ}|djdƒ}|djdƒ}|djdƒ}|djdƒ}|djdƒ}|djdƒ} |djd ƒ} |djd ƒ} |djd ƒ} |djd ƒ} |d }|d}|d}|d}|d}|d}|d}|d}|d}|d}d|krÄ|dkr|jdj|ƒƒ|r—x"|D]}|jd|ƒqyWn|rÅ|dkrÅ|jdj|ƒƒqÅn|rðx"|D]}|jd|ƒqÒWn|rÁx"|D]}|jd|ƒqýWqÁq5d|kr5|r’x_|D]T}||kr7dj|ƒ|krw|jdj|ƒƒn|jd|ƒq7q7Wn|rî||krîdj|ƒ|krÒ|jdj|ƒƒn|jdj|ƒƒqîn|rVx_|D]T}||krûdj|ƒ|kr;|jdj|ƒƒn|jd|ƒqûqûWn|rÁx_|D]T}|| krcdj|ƒ|kr£|jdj|ƒƒn|jd|ƒqcqcWqÁq5nqd|krÕ|dkry| |kry|jdj||ƒƒ|r,x"|D]}|jd |ƒqWn|rWx"|D]}|jd!|ƒq9Wn|rÒ|jdj|ƒƒqÒq5d"|kr5| |kr5|rÿxe|D]Z}|| krždj||ƒ|krä|jdj||ƒƒn|jd |ƒqžqžWn|rmxe|D]Z}|| kr dj||ƒ|krR|jdj||ƒƒn|jd!|ƒq q Wn|rÒ||krÏdj||ƒ|kr³|jdj||ƒƒn|jdj|ƒƒqÏqÒq5n`d#|kr5|dkr_|jd$j|ƒƒ|r1|dkr1|jdj|ƒƒq1n|r2x"|D]}|jd%|ƒq>Wq2q5d&|kr5|rÇ||krÇd$j|ƒ|kr«|jd$j|ƒƒn|jdj|ƒƒqÇn|r2x_|D]T}|| krÔd$j|ƒ|kr|jd$j|ƒƒn|jd'|ƒqÔqÔWq2q5n|S((NiR/R0RHR4R5R6R7R1R8R9R;R-R,RRRJRKRLRMRNROsnetwork-objectsobject-group network {0}snetwork-object host sdescription {0}s group-object snetwork-object R2s port-objectsobject-group service {0} {1}sport-object range sport-object eq RPsservice-objectsobject-group service {0}sservice-object R3sservice (RRQR?RR>(RTRURVR/R0RYR4R5R6R7R1R8R9R;R-R,RRRZRKR[RMRNROR"((sF/usr/lib/python2.7/site-packages/ansible/modules/network/asa/asa_og.pytpresentÜsà                         !        "        !cC`sztƒ}|djdƒ}|djdƒ}|djdƒ}|djdƒ}|djdƒ}|djdƒ}|djdƒ} |djd ƒ} |djd ƒ} |djd ƒ} |djd ƒ} |d }|d}|d}|d}|d}|d}|d}|d}|d}|d}d|kr|dkrZ|Sd|krv|rÎx_|D]T}||krsdj|ƒ|kr³|jdj|ƒƒn|jd|ƒqsqsWn|r*||kr*dj|ƒ|kr|jdj|ƒƒn|jdj|ƒƒq*n|r’x_|D]T}||kr7dj|ƒ|krw|jdj|ƒƒn|jd|ƒq7q7Wn|rýx_|D]T}|| krŸdj|ƒ|krß|jdj|ƒƒn|jd|ƒqŸqŸWqýqvnvd|kr„|dkr(| dkr(|Sd|krv| |krv|r®xe|D]Z}|| krMd j||ƒ|kr“|jd j||ƒƒn|jd!|ƒqMqMWn|rxe|D]Z}|| kr»d j||ƒ|kr|jd j||ƒƒn|jd"|ƒq»q»Wn|r||kr~d j||ƒ|krb|jd j||ƒƒn|jdj|ƒƒq~qqvnòd#|krv|dkr |Sd$|krv|r||krd%j|ƒ|krì|jd%j|ƒƒn|jdj|ƒƒqn|rsx_|D]T}|| krd%j|ƒ|krU|jd%j|ƒƒn|jd&|ƒqqWqsqvn|S('NiR/R0RHR4R5R6R7R1R8R9R;R-R,RRRJRKRLRMRNROsnetwork-objectR2sobject-group network {0}sno network-object host sno description {0}sno group-object sno network-object s port-objectRPsobject-group service {0} {1}sno port-object range sno port-object eq sservice-objectR3sobject-group service {0}s no service (RRQR?R>R(RTRURVR/R0RYR4R5R6R7R1R8R9R;R-R,RRRZRKR[RMRNROR"((sF/usr/lib/python2.7/site-packages/ansible/modules/network/asa/asa_og.pytabsentbs¬                     !      "      !cC`sÿxø|D]ð}tƒ}|d|d<|d|d<|d|d<|d|d<|d|d<|d|d<|d|d<|d|d<|d |d <|d |d <|d }|d krÅt||ƒS|d krÞt||ƒS|dkrt||ƒSqWdS(NR-R,RRRJRKRLRMRNROtstateR^R_R`(R<R^R_R`(twantRURAtwRTRa((sF/usr/lib/python2.7/site-packages/ansible/modules/network/asa/asa_og.pytmap_obj_to_commandsÊs&        cC`s´tƒ}|ji |jdd6|jdd6|jdd6|jdd6|jdd6|jdd6|jdd6|jdd6|jd d 6|jd d 6|jd d 6ƒ|S( NR-R,RRaRRJRKRMRNRORL(RRR=(RARB((sF/usr/lib/python2.7/site-packages/ansible/modules/network/asa/asa_og.pytmap_params_to_objäs  cC`sŒtdtdtƒdtddddgdtƒdtdd d d gƒd td dƒdtƒdtd dƒdtd dƒdtd dƒdtd dƒdtd dƒdtddddgddƒƒ }dddgfdddgfg}td|d|dtƒ}itd6}t|ƒ}t|ƒ}t|||ƒ}||d<|r{|jsnt||ƒnt|ds.   6+  d < ³ † h   '