思科(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_templates
和device_templates
。每个列表包含从vmanageapi中提取的字典,其中有几个
增加和修改。首先,连接设备的列表和输入变量的列表
添加到设备模板中。然后将实例ID转换为名称,以便模板
可以导入到另一个vManage。在
所有策略模板信息都将导出到一个包含四个列表的文件中:policy_lists
,
policy_definitions
,central_policies
,local_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
- 项目
标签: