是否可以使用pyez添加/编辑前缀列表和策略语句

时间:2016-11-23 11:01:55

标签: pyez junos-automation

是否可以通过juniper路由器中的pyez编辑前缀列表和策略语句。

设备详情

junos版本:15.1f5,Device:juniper mx240

我在netconf上使用pyez进行自动化

2 个答案:

答案 0 :(得分:2)

PyEZ具有Config实用程序,允许您添加配置并提交它。您可以使用以下格式提供配置:

  • “conf”,“text”,“txt”是卷曲文字式的
  • “set” - ascii-text,set-style
  • “xml” - ascii-text,XML
  • “json” - ascii-text,json

所以你不必自己构建rpc。

以下是一个简单的例子:

from jnpr.junos import Device
from jnpr.junos.utils.config import Config
dev = Device(host='somehost', username='username', password='password')
dev.open()
dev.bind(cu=Config)
set_command = []
ip = ['172.30.0.0/24', '172.30.1.0/24']
for i in ip:
    set_command.append(
       "set policy-options policy-statement new term 1 from route-filter {} exact"
       .format(
           i.rstrip("\n")
       ))
set_command.append("set policy-options policy-statement new term 1 from protocol static")
set_command.append("set policy-options policy-statement new term 1 then accept")
set_command.append("set policy-options policy-statement new term default then reject")
print set_command
rsp = dev.cu.load("\n".join(set_command), format='set')
print dev.cu.diff()
if dev.cu.commit_check():
   if dev.cu.commit():
       print "Done"

答案 1 :(得分:0)

您可以使用PyEZ编辑/设置驻留在RE上的Junos配置中的任何层次结构(允许脚本用户)。