GA»Æ½ð¼×

´Ó³ß¶Èµ½Â䵨£ºÍòÕ×Ô°Çø £¬Ñ¡ÒÔÌ«²Ê¹â Ø­ ¡¶ÍòÕ×Ô°ÇøÒÔÌ«²Ê¹â×êÑл㱨¡·¼¼Êõ×êÑлá
date
Ô¤Ô¼Ö±²¥
AIʱÆÚ £¬Ò½ÁÆÍøÂçÔõô½¨ Ø­ GA»Æ½ð¼×Ò½ÁƼ«¼òÒÔÌ«²Ê¹âË«³¬ÈÚºÏÍøÂç½â¾ö¹æ»®°ä²¼
date
Ô¤Ô¼Ö±²¥
GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾
²úÆ·
< ·µ»ØÖ÷²Ëµ¥
²úÆ·ÖÐÐÄ
²úÆ·
½â¾ö¹æ»®
< ·µ»ØÖ÷²Ëµ¥
½â¾ö¹æ»®ÖÐÐÄ
ÐÐÒµ
ºÏ×÷ͬ°é
·µ»ØÖ÷²Ëµ¥
Ñ¡ÔñÇøÓò/˵»°
GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

Äú¶©ÔĵIJúÆ·ÓиüР£¬Çëʵʱ²éÔÄ

²é¿´ÏêÇé
GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾ GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

»ùÓÚPython TextFSMÄ£¿éµÄÍøÂçÉ豸×Ô¶¯»¯ÔËά²½Öè

±¾ÎĽ«¸ø¸÷È˽éÉÜÒ»ÖÖÖ÷Á÷µÄ»ùÓÚCLIºÅÁîÐеǼµÄ×Ô¶¯»¯ÔËάʵ¼Ê°¸Àý £¬µ«Ô¸¿ÉÄܸø¸÷ÈË´øÀ´Ô®ÊÖ ¡£

  • GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

    °ä²¼¹¦·ò£º2021-03-04

  • GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

    µã»÷Á¿£º

  • GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

    µãÔÞ£º

·ÖÏíÖÁ

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾
GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾
GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

ÎÒÏëÆÀÂÛ

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

±¾ÎÄ×÷Õߣºkevinwoo

GA»Æ½ð¼×ÍøÂç¼¼Êõ·þÎñ²¿»¥ÁªÍø·þÎñÖÐÐÄ

 

Ëæ×ÅÔÆÍÆËãºÍSDN¼¼ÊõµÄ·¢Õ¹ £¬Êý¾ÝÖÐÐĹæÄ£Ô½À´Ô½´ó £¬¶øÍøÂç¼Ü¹¹Öð²½Ïò“È¥¶Ñµþ”¡¢“È¥¿ò”ʽ·¢Õ¹ £¬Õâ¾ÍÒâζ×űØÒªÊØ»¤µÄ»¥»»»úÊýÁ¿Ôڳɱ¶µÄÔö³¤ ¡£Ëæ×ÅÍøÂçÊØ»¤¹æÄ£Ô½À´Ô½´ó £¬ÔËάÈËԱѹÁ¦Ò²³É±¶Ôö³¤ £¬ÒÀ¸½´«Í³µÄÈËÎªÊØ»¤ÒѲ»Ì«ÏÖʵ £¬¹¤¾ß»¯¡¢×Ô¶¯»¯ÔËÎ¬ÊÆÔÚ±ØÐÐ ¡£Õâ¾Í±ØÒªÔËάÈËÔ±¾ß±¸¿Ï¶¨±à³ÌÄÜÁ¦ £¬´Ó¶øÍ¨¹ýÈí¼þ°ü°ì´«Í³µÄÈËÎªÊØ»¤ ¡£ÍøÂç×Ô¶¯»¯ÔËάÀíÏë½áºÏÈí¼þ¿ª·¢ÁìÓòDevOpsÀíÏë¶ø²úÉúµÄNetDevOps¸ÅÏëÒÑÖð²½±»ÍøÂçÔËά½çËù½ÓÊÜ ¡£

ÍøÂç×Ô¶¯»¯ÔËά £¬Ê×ÏÈҪʵÏÖÍøÂçÉ豸Óë×Ô¶¯»¯ÔËάƽ̨¶Ô½Ó £¬¼´Í¨¹ý´úÂëʵÏÖµÇÂ¼ÍøÂçÉ豸²¢»ñÊØÐÅÏ¢ ¡£Ä¿Ç°³£¼ûÏνÓÉ豸µÄ²½ÖèÓзÂÕÕ´«Í³µÄTelnet/SSHºÅÁîµÇ¼¡¢NETCONF¡¢gRPC¡¢OpenFlowºÍ̸¶Ô½ÓµÈµÈ ¡£


ΪÁ˸úÉÏSDNµÄ·¢Õ¹Ç÷Ïò £¬¸÷¸ö´«Í³ÍøÂçÉ豸³§ÉÌÒÑÖð²½Ê¢¿ªAPI½Ó¿Ú £¬±ÈÁ¦Óдú±íÐÔµÄÊÇNETCONFºÍYANGÄ£ÐͶÔÍøÂçÉ豸µÄÅäÖúÍÐÅÏ¢Êä³öµÄÊý¾Ý½á¹¹»¯½ç˵ ¡£Ä¿Ç°GA»Æ½ð¼×Êý¾ÝÖÐÐÄ»¥»»»ú²úÆ·ÒÑÈ«ÃæÖ§³ÖNETCONFºÍ̸ £¬¿ÉºÏÓÃÓÚºÍSDN½ÚÔìÆ÷»òÔËάƽ̨µÄÄÏÏò½Ó¿Ú¶Ô½Ó ¡£¶øÃæ¶ÔÍøÂ繤³ÌʦÔÚ²Ù×÷ÍøÂçÉ豸ʱϰ¹ßÓÚʹÓÃCLIºÅÁîÐеĽü¿ö £¬ÓÖÓÐʲôÑùµÄ°¸Àýʵ¼ÊÄØ£¿


±¾ÎĽ«¸ø¸÷È˽éÉÜÒ»ÖÖÖ÷Á÷µÄ»ùÓÚCLIºÅÁîÐеǼµÄ×Ô¶¯»¯ÔËάʵ¼Ê°¸Àý £¬µ«Ô¸¿ÉÄܸø¸÷ÈË´øÀ´Ô®ÊÖ ¡£


»ùÓÚCLIµÄ×Ô¶¯»¯ÔËά´øÀ´µÄÎÊÌâ

 

CLI(Command-Line Interface)ÊÇ´«Í³ÍøÂ繤³Ìʦ×îÊìϤµÄÓëÍøÂçÉ豸“¹µÍ¨”µÄ·½Ê½ £¬¹¤³Ìʦ×îÈëÃÅÏ°ÍøÂç¿Î³Ì¾ÍÊÇÒªÊìϤ¸÷ÀàºÍ̸µÄºÅÁîÐÐÅäÖᢵ÷ÊÔ ¡£¹¤³ÌʦÔÚÈÕ³£¹¤×÷ÖбØÒª½áºÏºÅÁîÐÐÊä³öÁ˾ֽøÐÐÅÅ´í £¬ÉõÖÁÔÚÍøÂç¸î½ÓºÍµ÷»»µÄ³¡¾°ÖÐ £¬±ØÒª½«µ÷»»µÄ²Ù×÷²½Öèϸ»¯µ½Ã¿Ò»ÌõºÅÁî ¡£Ïà±ÈNETCONFµÈAPI½Ó¿Ú £¬CLIºÅÁîÐÐͨ³£Ö§³ÖµÄÄÚÈÝÔ½·¢·á˶¡¢½Ã½Ý ¡£ËùÒÔÔÚʵÏÖÍøÂç×Ô¶¯»¯ÔËάµÄ¹ý³ÌÖÐ £¬»ùÓÚCLIµÄ×Ô¶¯»¯ÊÇÈÝÒ×±»´«Í³ÍøÂ繤³ÌʦËù½ÓÊܺÍÖ´ÐеÄ ¡£


Ëæ×ÅPython˵»°ÔÚ½üЩÄêµÄ¼±¾ç·¢Õ¹ £¬Ó¿ÏÖÁËÒ»Åú»ùÓÚPythonµÄÓÅÁ¼¿ªÔ´Ä£¿é £¬ºÃ±ÈAnsible¡¢Paramiko¡¢Netmiko¡¢PexpectµÈ ¡£ÍøÂ繤³Ìʦ´Ë¿ÌÄܹ»±àд¼ò¶ÌµÄPython¾ç±¾¾ÍÄÜŲÓÃÕâЩÄ£¿éʵÏÖÅúÁ¿µÇ¼É豸ִÐо籾 £¬µ«ÊÇËæÖ®¶øÀ´µÄÁíÒ»¸öÍ·Í´µÄÎÊÌâÊÇ´«Í³µÄºÅÁîÐÐÊä³öÁ˾Öͨ³£ÊÇÒÀÕÕÊʺÏÈËÀàÔĶÁµÄ·½Ê½À´³öÏÖµÄ ¡£ºÃ±È“show”ºÅÁîµÄÊä³öÁ˾ÖÔ̺¬ÁË´óÁ¿µÄ¿Õ¸ñ¡¢Ëõ½ø¡¢»»ÐÐµÈ £¬²¢ÇҺöàºÅÁ´æÔڸߵÍÎĹØÁªÐÔ ¡£ÕâЩºÅÁîÐÐÊä³öÁ˾Öͨ³£ÎÞ·¨±»ÍÆËã»úºÜºÃµØ¼ø±ð £¬ÍÆËã»ú¸üÉÆÓÚ¼ø±ðXML¡¢JSON¡¢YAMLµÈ½á¹¹»¯Êý¾ÝÀàÐÍ £¬ËùÒÔÍø¹¤ÔÚ±àдPython¾ç±¾Ê±²»µÃ²»Ð´Ò»¶ÑÕýÔò±í°×ʽȥ“¿Ù”¹Ø¼ü²ÎÊý £¬È»¶øÊ¹Óø´ÔÓµÄÕýÔò±í°×ʽÓÖ½øÒ»²½µ¼Ö´úÂë¿ÉÊØ»¤ÐԽϲî ¡£


ÏÂÃæÒÔ»¥»»»ú×î»ù´¡µÄ²é¿´VLANºÅÁîΪÀý½øÐÐ×¢Ã÷ ¡£ÈçÏÂͼËùʾÊÇͨ¹ý“show vlan”ºÅÁîµÄÊä³öÁË¾Ö £¬¶ÔÓÚͳһ¸öVLAN¿ÉÄÜ»á´æÔÚ¶à¸ö¶Ë¿Úͬʱ·ÅÐеÄÇé¿ö ¡£¹ØÁªµÄ½Ó¿ÚÊýÁ¿³¬¹ý¿Ï¶¨ÊýÁ¿Ê± £¬Êä³öµÄÁ˾ֽ«»á²ð·Ö³É¶àÐÐÏÔʾ £¬´Ëʱ £¬VLANÐÅÏ¢Ö»ÔÚµÚÒ»ÐÐÏÔʾ £¬ºóÐø¼¸ÐÐÄÚÈݱØÒªÓëµÚһǰ½øÐйØÁªÆ¥ÅäÄÜÁ¦µÃµ½ÕýÈ·µÄÊä³öÐÅÏ¢ ¡£´ËʱÈôÊDZØÒª¶Áȡij¸öVLAN¹ØÁªµÄËùÓж˱êÓïÁбí £¬Ê¹Óô«Í³µÄÕýÔò±í°×ʽ¾Í±ØÒªÂÅ´ÎŲÓÃÕýÔò±í°×ʽ²¢¹²Í¬Ñ­»·Âß¼­ÅжÏÄÜÁ¦ÊµÏÖ £¬Õû¸ö¹ý³Ì¼«¶È·±Ëö ¡£

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾


PythonͨÀýµÄÊý¾ÝÀàÐÍÖØÒªÊÇÁбí»ò×ÖµäÌåʽ £¬ÈôÊÇÓй¤¾ß¿ÉÄܽ«É豸µÄÉÏÃæµÄÊä³öÁ˾ÖÖ±½Óת»¯ÎªPythonÊÊÅäµÄÊý¾ÝÀàÐÍ£¨ÈçÏÂͼ£© £¬ÄÇô¾ÍÄܹ»Ö±½ÓʹÓÃPython½øÐд¦Öà ¡£

 

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾


ÏÂÃæ¾ÍҪ¡³Á½éÉÜһϱ¾ÎıêÌâÖÐÌáµ½µÄTextFSMÄ£¿é £¬Ëü¾ÍÊÇÓÃÓڽṹ»¯Êä³öÎı¾µÄÒ»¸öÉñÆæ¹¤¾ß ¡£


TextFSMÄ£¿é½éÉÜ

 

TextFSMÊÇGoogle¿ª·¢µÄÒ»ÖÖ¿ªÔ´PythonÄ£¿é £¬Äܹ»»ùÓÚÄ£°åµÄ״̬»úÀ´½âÎö°ëÌåʽ»¯Îı¾ £¬´Ó¶øÊµÏÖ¶ÔÍøÂçÉ豸CLIÊä³öÐÅÏ¢½øÐнṹ»¯Êý¾Ý´¦Öà £¬×îÖÕ½«Îı¾ÄÚÈÝÊä³öΪPythonµÄ×Öµä»òÁбíÌåʽ£¨»òÕßÊÇÁ½Õß×éºÏ£© ¡£


¾ßÌåÄÚÈÝÄܹ»½Ó¼û¸ÃÄ£¿éµÄGitHub£ºhttps://github.com/google/textfsm ¡£


ÀýÈç £¬ÉÏÎÄÖбØÒª½«“show vlan”ºÅÁîµÄÊä³öÁ˾ֽøÐнâÎö £¬Äܹ»Í¨¹ýŲÓÃÏÂÃæµÄTextFSMÄ£°å½«ºÅÁîÊä³ö½øÐÐÌåʽ»¯£º

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾


ruijie-templatesÄ£¿é½éÉÜ

 

¹ÌÈ»ÓÐÁËTextFSMÄ£¿é¿ÉÄÜ×öµ½½á¹¹»¯½âÎöÎı¾ÐÅÏ¢ £¬µ«ÊÇÿ¸ö³§¼ÒµÄCLIÊä³öÄÚÈݲî¾à½Ï´ó £¬±ØÒªÃ¿ÌõºÅÁî¶¼ÓÐÏàÓ¦µÄÄ£°åÀ´ÊÊÅä £¬µ¼ÖÂÔËάÈËÔ±»¹±ØÒªÍ¶Èë´óÁ¿¹¦·òÈ¥±àдÏàÓ¦µÄÄ£°å ¡£ntc-templatesÄ£¿é¾ÍÊÇΪÏàʶ¾öÕâ¸öÍ´µãµ®ÉúµÄ ¡£ntc-templatesÄ£¿éÊÇÓÉnetworktocodeÍŶӿª·¢µÄPythonÄ£¿é £¬¸ÃÄ£¿é»ùÓÚTextFSM¿ª·¢ £¬ËüÄÚÖÃÁ˽«½ü400¸öTextFSMÄ£°å £¬Äܹ»ÊÊÅäÖ÷Á÷³§É̵ÄCLIÊä³öÁ˾Ö ¡£


¾ßÌå¿É²Î¿¼¸ÃÄ£¿éµÄGitHubÖ÷Ò³£º


https://github.com/networktocode/ntc-templates

 

ntc-templatesÄ£¿éÄÚÖÃÁËindexÎļþ £¬½«¸÷Àà³§ÉÌÆ½Ì¨ºÍshowºÅÁîÓ³Éäµ½ÏàÓ¦µÄTextFSMÄ£°åÎļþ £¬Ã¿¸ö³§ÉÌµÄ·ÖÆçºÅÁî¶¼¶ÔÓ¦×ÅÒ»¸ö¶ÀÁ¢µÄÄ£°å ¡£ÎÒÃÇÔÚntc-templatesÄ£¿éµÄ»ù´¡ÉÏ £¬¿ª·¢ÁË»ùÓÚGA»Æ½ð¼×Êý¾ÝÖÐÐÄ»¥»»»ú²úÆ·µÄÄ£°å¿â£ºruijie-templates ¡£ruijie-templatesÄ£°å¿âÊÇ»ùÓÚTextFSM¹æ¶¨¿ª·¢ £¬ÓÃÓÚÊÊÅäntc-templatesÄ£¿é £¬Äܹ»ÎÞ·ìÏνÓNetmikoÄ£¿éʹÓà ¡£ruijie-templatesÄ£¿éÄܹ»½«GA»Æ½ð¼×Êý¾ÝÖÐÐÄ»¥»»»úCLIÄÚÈݽøÐнṹ»¯Êä³ö £¬Êä³öÁ˾ÖÄܹ»Ö±½ÓÓÃÓÚPython¾ç±¾Ê¹Óà ¡£¸ÃÄ£¿é¾­¹ý¶à¸öGA»Æ½ð¼×Ö÷Á÷Êý¾ÝÖÐÐÄ»¥»»»ú°æ±¾²âÊÔ £¬¸²¸ÇRG-S6510¡¢RG-S6520¡¢RG-S6910¡¢RG-S6920¡¢RG-N18000-XϵÁÐ[Ȩ5] ²úÆ· £¬Ä¿Ç°ÒÑÖ§³Ö½ü50Ìõ³£ÓúÅÁî½âÎö £¬ºóÐø»áÖ𲽸üÐÂÃÀÂú £¬¾´Çë¹Ø×¢ ¡£Ä¿Ç°ruijie-templates´úÂëÒÑÍйÜÖÁGitHub£ºhttps://github.com/kevinkrabi/ruijie-templates

ÏÂÃæ½éÉÜÒ»ÏÂruijie-templatesÄ£¿éʹÓò½Öè ¡£


ruijie-templatesÄ£¿éʹÓò½Öè

 

×°Öò½Öè

 

ǰÖÃǰÌ᣺װÖÃTextFSM¿âºÍntc-templates¿â

²½ÖèÒ»£º½«ruijie-templates²¢Èëntc-templatesÄ£°å¿â£¨ÍƼö£©

²½Öè¶þ£º¶ÀÁ¢Ê¹ÓÃruijie-templates¿â £¬±ØÒªÉèÖû·¾³±äÁ¿ £¬Ïà¶Ô¸´ÔÓ£¨²»ÍƼö£©
ÍÆ¼öʹÓò½ÖèÒ»½«±¾Ä£°å¿â¹é²¢Èëntc-templatesÄ£¿éʹÓà £¬¾ßÌå²Ù×÷²½ÖèÈçÏ£º


ÏÂÔØÄ£°å¿â

 

git clone git@github.com:kevinkrabi/ruijie-templates.git

Ä£°åÎļþµ¼Èëntc-templates

½«templatesĿ¼ÏµÄËùÓÐTextFSMÎļþµ¼Èëntc-templates¿âµÄtemplatesĿ¼ ¡£


ÒÔmacOSΪÀý£º


cp*.textfsm Library/Frameworks/Python.framework/Versions/3.6/lib/Python3.6/site-packages/ntc_templates/templates//index

 

Ôö³¤indexÐÅÏ¢

 

ÒÔmacOSΪÀý £¬indexÎļþµØµãõ辶Ϊ£º

Library/Frameworks/Python.framework/Versions/3.6/lib/Python3.6/site-packages/ntc_templates/templates/index

 

ÕÒµ½indexÎļþºóÓÃÎı¾±à×ëÈí¼þ´ò¿ª £¬½«ÒÔÏÂÄÚÈÝÈ«Êý¸´ÔìÕ³Ìùµ½Ô­Ê¼Îļþĩβ¼´¿É ¡£

°ÑÎÈ£ºÓÉÓÚntc-templatesÄ£°å¿âÆ¥Åä×¼Ôò £¬ÎªÔ¤·ÀÒì³£Çé¿ö £¬ÒÔÏÂindexÌõ¿î²»½¨Òéµ÷Õû°¤´Î£¡

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

 

°¸ÀýÒ»£ºÊ¹ÓÃNetmikoµÇ¼É豸»ñÈ¡Êä³öÐÅÏ¢

 

×¢Ã÷

¸Ã°¸ÀýʹÓÃNetmiko·ÂÕÕCLI×Ô¶¯»¯µÇ¼һ̨É豸 £¬¶ÁÈ¡¹Ø¼üÐÅÏ¢²¢Êä³öÁ˾Ö ¡£


NetmikoÊÇ»ùÓÚParamiko¿ª·¢µÄרÃÅÓÃÓÚÊÊÅäÍøÂçÉ豸µÄ¿ªÔ´Python¿â £¬Netmikoͬʱ¼¯³ÉÁËTextFSM»·¾³ £¬Ä¿Ç°×îа汾Netmiko£¨3.3.3£©ÒÑÖ§³ÖGA»Æ½ð¼×²úÆ· £¬device_type²ÎÊý£ºruijie_os


²âÊÔÖ¸±ê

ʹÓÃNetmikoµÇ¼É豸 £¬Í¨¹ýÖ´ÐГshow int count rate up”ºÅÁî»ñÈ¡É豸Êä³öÐÅÏ¢ £¬²¢½«Á˾ÖÒÔ×ֵ䷽ʽÊä³ö ¡£

 

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

 

ʵÏÖ´úÂë

 

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

°ÑÎȹؼü×Ö£ºdevice_type': 'ruijie_os' £¬use_TextFSM=True

 

ʵÏÖ³ÉЧ

 

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

 

°¸Àý¶þ£ºÊ¹ÓÃntc-teamplates½«Îı¾½á¹¹»¯Êä³ö

 

×¢Ã÷

¸Ã°¸ÀýʹÓÃntc-templatesÄ£¿é £¬¶ÔÎı¾ÄÚÈݽøÐнṹ»¯Êä³ö ¡£

 

²âÊÔÖ¸±ê

ÒÔÏÂͼÖÐBGP·ÓɱíΪÀý £¬±ØÒª¶Ô“show ip bgp”ºÅÁîÖ´ÐÐÁ˾ֽøÐнṹ»¯Êä³ö ¡£

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

 

ʵÏÖ´úÂë

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

°ÑÎȹؼü×Ö£ºplatform='ruijie_os'

 

ʵÏÖ³ÉЧ

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

 

дÔÚ×îºó

±¾ÎĽéÉÜÁËÍøÂç×Ô¶¯»¯ÔËάµÄÎÊÌâºÍ½â¾ö¹æ»® £¬²¢½áºÏÁ½¸ö°¸Àý½éÉÜÁËruijie-templateÄ£¿éµÄÖ°ÄÜÒÔ¼°Ê¹Óò½Öè £¬¸ÐÐËÖµĶÁÕßÄܹ»²Î¿¼°¸ÀýÏÂÔØ²âÊÔ £¬µ±Ç°µÄºÅÁîÊýÁ¿»¹²»ÄÜÂú×ãËùÓÐÒµÎñ³¡¾° £¬ÈçÄúÓиüºÃµÄ½¨ÒéºÍ¶¨¼ûÄܹ»ÁôÑÔ £¬µ«Ô¸Õâ¸öÄ£¿éÄܹ»Ô®ÊÖµ½ÓÐÕâ·½ÃæÐèÒªµÄ°é ¡£


¸½Â¼

 

±¾ÎÄÖнéÉܵÄÓйØÄ£¿éGitHubµØÖ·£º

ruijie-template£ºhttps://github.com/kevinkrabi/ruijie-templates

TextFSM£ºhttps://github.com/google/textfsm

ntc-templates£ºhttps://github.com/networktocode/ntc-templates

Netmiko£ºhttps://github.com/ktbyers/Netmiko

ÓйØÍƼö£º

ÓйرêÇ©£º

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾ GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

µãÔÞ

¸ü¶à¼¼Êõ²©ÎÄ

ÈκαØÒª £¬ÇëÁªÏµGA»Æ½ð¼×

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

·µ»Ø¶¥²¿

ÊÕÆð
GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾ ÎĵµAI¸±ÊÖ
GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾ ÎĵµÆÀ¼Û
ev-close ev-close-m
¸Ã×ÊÁÏÊÇ·ñ½â¾öÁËÄúµÄÎÊÌ⣿
ev-close ev-close-m
Äú¶Ôµ±Ç°Ò³ÃæµÄÖÐÒâ¶ÈÈôºÎ£¿
²»Õ¦µÎ
¼«¶ÈºÃ
dark-star dark-star dark-star dark-star dark-star
ev-close ev-close-m
ÄúÖÐÒâµÄÔ­ÒòÊÇ£¨¶àÑ ¡£©£¿
Äú¶ÔÎĵµÊÇ·ñ»¹ÓÐÆäËüµÄÎÊÌâ»ò½¨Ò飿
Ϊ¾¡¿ì½â¾öÎÊÌâ £¬ÇëÄúÁôÏÂÁªÏµ·½Ê½Òﱋȯ¸´
ÓÊÏä
ÊÖ»úºÅ
ev-bg
¸Ð¼¤ÄúµÄ·´À ¡£¡
GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾
GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾
GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾
ÇëÑ¡Ôñ·þÎñÏîÄ¿
¹Ø¹ØÕ÷ѯҳ
ÊÛǰÕ÷ѯ ÊÛǰÕ÷ѯ
ÊÛǰÕ÷ѯ
ÊÛºó·þÎñ ÊÛºó·þÎñ
ÊÛºó·þÎñ
¶¨¼û·´À¡ ¶¨¼û·´À¡
¶¨¼û·´À¡
¸ü¶àÁªÏµ·½Ê½
¡¾ÍøÕ¾µØÍ¼¡¿