??????????????
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@`sDddlmZmZmZeZdZddlZddlZddl m Z m Z ddl m Z ddlmZmZyVddlmZddlmZdd lmZdd lmZmZmZeZWneefk rñeZnXydd l m!Z!Wn!ek r)dd l"m!Z!nXd efd „ƒYZ#dS(i(tabsolute_importtdivisiontprint_functions --- netconf: ce short_description: Use ce netconf plugin to run netconf commands on Huawei Cloudengine platform description: - This ce plugin provides low level abstraction apis for sending and receiving netconf commands from Huawei Cloudengine network devices. version_added: "2.9" options: ncclient_device_handler: type: str default: huawei description: - Specifies the ncclient device handler name for Huawei Cloudengine. To identify the ncclient device handler name refer ncclient library documentation. N(tto_texttto_bytes(tAnsibleConnectionFailure(t NetconfBasetensure_ncclient(tmanager(tRPCError(tSSHUnknownHostError(tto_eletto_xmltnew_ele(t fromstringtNetconfcB`seZed„ƒZed„ƒZd„Zed„ƒZd„Zeed„ƒƒZ d„Z d„Z ed„ƒZ d „Z d „Zed „ƒZed „ƒZed „ƒZed„ƒZed„ƒZd„Zd„Zedddd„ƒZRS(cC`s>y&t|j|ƒjddƒjƒSWntk r9nXdS(Nterrorstsurrogate_then_replace(RtfindttexttstriptAttributeError(tselftelettag((s>/usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pytget_text?s& cC`sÀtƒ}d|d s xmlns=".+?"tRtsurrogate_or_stricts .//systemInfot productVertnetwork_os_versiontsysNametnetwork_os_hostnamet platformVertnetwork_os_platform_versiont productNametnetwork_os_platform(tdicttgettretsubRRRR(Rt device_infot filter_xmltdatatreplytsw_info((s>/usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pytget_device_infoFs  cC`s |j|ƒS(sQRPC to be execute on remote device :name: Name of rpc in string format(trpc(Rtname((s>/usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pyt execute_rpcascO`s¤|jdƒr[t|dddƒ|d<|jddƒdkr[t|dƒ|d/usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pyR7fsc C`sµtƒ}|jƒddddddddd g |d /usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pytget_capabilitiesws  ##cC`sýy‘tjd|jjd|jjp'dd|jjd|jjd|jd|jdƒd |jd ƒd |jj d |jd ƒd |j ƒ }Wn%t k r¸}t t |ƒƒ‚nXd}x-|jD]"}tjd|ƒrÉd}PqÉqÉW|jƒ|S(Nthosttporti>tusernametpasswordt key_filenamethostkey_verifythost_key_checkingt look_for_keyst allow_agentttimeouttpersistent_connect_timeoutt ssh_configthuaweiR(Rtconnectt _play_contextt remote_addrRPt remote_userRRRSt get_optionRWt _ssh_configR RRtNoneRFR(tsearcht close_session(tobjR6R<t guessed_osRM((s>/usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pytguess_network_os‚s*       cO`s|jj||ŽjS(s÷Retrieve all or part of a specified configuration. :format: format in configuration should be retrieved :filter: specifies the portion of the configuration to retrieve (by default entire configuration is retrieved)(R6R=R8(RR:R;((s>/usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pyR= scO`s|jj||ŽjS(s7Compare configuration :rollback: rollback id(R6R>R8(RR:R;((s>/usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pyR>§scC`sQd}y|jjd|ƒ}Wn(tk rI}tt|jƒƒ‚nX|jS(shuawei execute-actiontactionN(RbR6RhR R9R R5(Rtxml_strtcon_objR<((s>/usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pyR?¬s cC`s|jjƒjS(sreboot the device(R6R@R8(R((s>/usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pyR@·scC`s|jjƒjS(sreboot the device(R6RAR8(R((s>/usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pyRA»scO`swyH|jdtƒ}|r1|jj||ŽjS|jj||ŽjSWn(tk rr}tt|jƒƒ‚nXdS(Nt if_rpc_reply( tpoptFalseR6R'R5R8R R9R (RR:R;RkR<((s>/usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pyR'¿scO`sIy|jj||ŽjSWn(tk rD}tt|jƒƒ‚nXdS(N(R6t get_configR8R R9R R5(RR:R;R<((s>/usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pyRnÉscO`sIy|jj||ŽjSWn(tk rD}tt|jƒƒ‚nXdS(N(R6t edit_configR5R R9R (RR:R;R<((s>/usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pyRoÐscO`sIy|jj||ŽjSWn(tk rD}tt|jƒƒ‚nXdS(N(R6tcliR5R R9R (RR:R;R<((s>/usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pyRB×scO`sIy|jj||ŽjSWn(tk rD}tt|jƒƒ‚nXdS(N(R6tcommitR8R R9R R5(RR:R;R<((s>/usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pyRqÞscO`s|jj||ŽjS(N(R6tvalidateR8(RR:R;((s>/usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pyRråscO`s|jj||ŽjS(N(R6tdiscard_changesR8(RR:R;((s>/usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pyRsèscC`sF|dkrtdƒ‚n|jjt|ƒd|d|ƒ}|jS(sù Execute rpc on the remote device eg. dispatch('get-next') :param rpc_command: specifies rpc command to be dispatched either in plain text or in xml element format (depending on command) :param source: name of the configuration datastore being queried :param filter: specifies the portion of the configuration to retrieve (by default entire configuration is retrieved) :return: Returns xml string containing the rpc-reply response received from remote host s"rpc_command value must be providedtsourcetfilterN(Rbt ValueErrorR6tdispatchRR5(Rt rpc_commandRtRutresp((s>/usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pyRCës $N(t__name__t __module__RRR/R2R7RNt staticmethodRgR=R>R?R@RAR'RnRoRBRqRrRsRbRC(((s>/usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pyR=s*         ($t __future__RRRttypet __metaclass__t DOCUMENTATIONRJR(tansible.module_utils._textRRtansible.errorsRtansible.plugins.netconfRRtncclientRtncclient.operationsR tncclient.transport.errorsR t ncclient.xml_R R R tTruet HAS_NCCLIENTt ImportErrorRRmt lxml.etreeRtxml.etree.ElementTreeR(((s>/usr/lib/python2.7/site-packages/ansible/plugins/netconf/ce.pyts(