GA»Æ½ð¼×

¡°¼«¼ò¡±»ÀР¡¤ È«ÓòÖÇÁª Ø­ GA»Æ½ð¼×м«¼òÁ캽ÏÂÒ»´úÐ£Ô°Íø½¨Éè×êÑлá
date
Ô¤Ô¼Ö±²¥
ÎÞ¸Ð×¼Èë ÈËÎïͳ¹Ü Ø­ RG-SAM+5.X ÐÂÒ»´ú¸ßУAIÈÏ֤ƽ̨°ä²¼
date
Ô¤Ô¼Ö±²¥
GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾
²úÆ·
< ·µ»ØÖ÷²Ëµ¥
²úÆ·ÖÐÐÄ
²úÆ·
½â¾ö¹æ»®
< ·µ»ØÖ÷²Ëµ¥
½â¾ö¹æ»®ÖÐÐÄ
ÐÐÒµ
ºÏ×÷ͬ°é
·µ»ØÖ÷²Ëµ¥
Ñ¡ÔñÇøÓò/˵»°
GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾
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
Äú¶Ôµ±Ç°Ò³ÃæµÄÖÐÒâ¶ÈÈôºÎ£¿
²»Õ¦µÎ
¼«¶ÈºÃ
dark-star dark-star dark-star dark-star dark-star
ev-close
ÄúÖÐÒâµÄÔ­ÒòÊÇ£¨¶àÑ¡£©£¿
ev-close
Äú²»ÖÐÒâµÄÔ­ÒòÊÇ£¨¶àÑ¡£©£¿
ev-close
ÄúÊÇ·ñ»¹ÓÐÆäËûÎÊÌâ»ò½¨Ò飿
ΪÁ˼±¾ç½â¾ö²¢»Ø¸´ÄúµÄÎÊÌ⣬ÄúÄܹ»ÁôÏÂÁªÏµ·½Ê½
ÓÊÏä
ÊÖ»úºÅ
ev-bg
¸Ð¼¤ÄúµÄ·´À¡£¡
GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾
GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾
GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾
ÇëÑ¡Ôñ·þÎñÏîÄ¿
¹Ø¹ØÕ÷ѯҳ
ÊÛǰÕ÷ѯ ÊÛǰÕ÷ѯ
ÊÛǰÕ÷ѯ
ÊÛºó·þÎñ ÊÛºó·þÎñ
ÊÛºó·þÎñ
¶¨¼û·´À¡ ¶¨¼û·´À¡
¶¨¼û·´À¡
¸ü¶àÁªÏµ·½Ê½
¡¾ÍøÕ¾µØÍ¼¡¿