思科(Cisco)SDVIWAN软件开发工具包

viptela的Python项目详细描述


Cisco Viptela vManage Python SDK/CLI/Ansible

此回购包含一个用于Cisco Viptela vManage的Python SDK,以及一个利用该SDK的CLI和Ansible模块。 在pypi中可以找到稳定的版本。master分支正在积极开发中,可能无法提供稳定的接口。在

要求

  • Python 3.6+

安装

创建Python虚拟环境

python3 -m venv env
. env/bin/activate

从PyPI安装

^{pr2}$

从github安装

pip install git+https://github.com/CiscoDevNet/python-viptela.git@specific_branch

从repo内部安装

git clone https://github.com/CiscoDevNet/python-viptela.git
cd python-viptela
pip install -e .

环境变量

可以通过变量vManage为SDK设置端口/IP和证书

  • VMANAGE_HOST
  • VMANAGE_PORT
  • VMANAGE_USERNAME
  • VMANAGE_PASSWORD

vManage命令行界面

Usage: vmanage [OPTIONS] COMMAND [ARGS]...

Options:
  --host TEXT      vManage Host (env: VMANAGE_HOST)[required]
  --port INTEGER   vManage Port (env: VMANAGE_PORT, default=443)
  --username TEXT  vManage Username (env: VMANAGE_USERNAME)[required]
  --password TEXT  vManage Password (env: VMANAGE_PASSWORD)[required]
  --help           Show this message and exit.

Commands:
  activate     Activate commands
  certificate  Certficate commands
  clean        Clean vManage
  deactivate   Deactivate commands
  export       Export commands
  import       Import commands
  set          vManage Settings set commands
  show         Show commands

还可以通过命令行选项指定vManage主机和凭据。这个 命令行选项覆盖环境变量。如果没有指定密码, 系统将提示用户输入一个。在

导入和导出模板和策略

数据文件格式

所有模板信息都将导出到一个单独的文件中,其中有to列表:feature_templatesdevice_templates。每个列表包含从vmanageapi中提取的字典,其中有几个 增加和修改。首先,连接设备的列表和输入变量的列表 添加到设备模板中。然后将实例ID转换为名称,以便模板 可以导入到另一个vManage。在

所有策略模板信息都将导出到一个包含四个列表的文件中:policy_listspolicy_definitionscentral_policieslocal_policies。每个列表包含的词典 从vmanageapi中提取,实例id转换为名称,这样策略可以 导入到另一个vManage。在

导入选项

  • --check:检查一下。没有变化。(默认值为False)
  • --update:如果存在则更新(默认值=False)
  • --diff:显示差异(默认值=False)

CLI/SDK将以等幂方式导入模板和策略,并尽可能不破坏性地导入。 它只会添加不存在的模板和策略。当模板或策略确实存在时 但与导入文件中的内容不同,除非--update 提供了选项。在

导出模板

将所有模板导出到文件中
vmanage export templates --file vmanage-templates.json
从特定vManange导出模板
vmanage --host=192.133.178.54 export templates --file vmanage-templates.json
导出特定设备模板
vmanage export templates --type=device --file vmanage-templates.json --name=isr4331 --name=ISR1111-8P
仅导出功能模板
vmanage export templates --type=feature --file vmanage-templates.json

导入模板

导入所有模板
vmanage import templates --file vmanage-templates.json
导入功能模板
vmanage import templates --type=feature --file vmanage-templates.json
导入特定设备模板
vmanage import templates --type=device --file vmanage-templates.json --name=isr4331 --name=ISR1111-8P

出口政策

vmanage export policies --file vmanage-policies.json

导入策略

vmanage import policies --file vmanage-policies.json
区分两个模板
vmanage show template g0/0/0-R1 --diff g0/0/0-R2
[('change',
    'templateDefinition.tunnel-interface.color.value.vipType',
    ('ignore', 'constant')),
  ('change',
    'templateDefinition.tunnel-interface.color.value.vipValue',
    ('default', 'custom2')),
  ('add',
    'templateDefinition.tunnel-interface.color.restrict',
    [('vipVariableName', 'vpn_if_tunnel_color_restrict')]),
  ('change',
    'templateId',
    ('2a0481f4-a5b2-44bf-baad-59de4d3b4e99',
      '1dc123db-7a14-40f5-9653-1c87ccd5eaa2')),
  ('change', 'createdOn', (1569072320921, 1569072320260)),
  ('change', '@rid', (843, 839)),
  ('change',
    'templateDescription',
    ('G0/0/0 Interface for R1 router with TLOC extension, adds NAT',
      'G0/0/0 Interface for R2 router with TLOC extension, adds NAT, changes ''color to custom2')),
  ('change', 'lastUpdatedOn', (1569072320921, 1569072320260))]

许可证

GNU通用公共许可v3.0

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Windows 8.1上的netbeans 7 Java控制面板   在另一台设备上创建的将安卓设备连接到WiFi热点的java   java领域生命周期处理安卓中的关闭/无效实例   使用firebasemlkit访问cloud vision api时关闭javasocket   jsp中基于64字节数组的Java图像显示   每次方向更改并丢失字段值时,java Android OnCreateView调用两次   如何使用idljmavenplugin生成java文件   并发性如何进行同步以防止java冲突。util。ConcurrentModificationException   Java中非连通无向图的圈检测   java如何在不使用列表或集合方法的情况下删除数组元素   计算三维SAT碰撞法向量时出现java错误   java翻译自定义通知字符串   java如何从HttpURLConnection读取json数据   java如何将整数添加到字符串ArrayList?   java cxf生成的wsdl:将soap地址位置协议更改为https   jakarta ee Java:Java ee应用程序中的静态和线程安全   java在Android中传递变量   组合框的swing Java selectionChange侦听器