使用Fortigate API的Python模块
fortiosapi的Python项目详细描述
Fortiosapi
配置Fortigate/Fortios设备的Python库(rest api和ssh)
准备好进行配置管理。
与rest api相比,有几个附加组件: 除了get、put、post、delete方法之外,还有一组 试着发帖,如果失败的话会直接把MKEY放进去收集。 lib还会为您找到mkey
##新的覆盖配置
现在有一个overlayconfig调用,可以在yaml中传递复杂的配置更改。 包括多个端点(名称/路径),如下面的简单示例所示:
antivirus:profile:apisettree:"scan-mode":"quick"'http':{"options":"scanavmonitor",}"emulator":"enable"firewall:policy:67:'name':"Testfortiosapi"'action':"accept"'srcintf':[{"name":"port1"}]'dstintf':[{"name":"port2"}]'srcaddr':[{"name":"all"}]'dstaddr':[{"name":"all"}]'schedule':"always"'service':[{"name":"HTTPS"}]"utm-status":"enable""profile-type":"single"'av-profile':"apisettree"'profile-protocol-options':"default"'ssl-ssh-profile':"certificate-inspection"'logtraffic':"all"
其行为将是先在更高级别更改参数,然后在表上进行一系列设置。 如果其中一个失败,将失败。 命令的顺序应该保持。
登录方法
用户/密码
Fortigate API规范中记录的令牌(API密钥),如果在http://fndn.fortinet.com/上有帐户,则可以找到
多VDOM
在多vdom环境中,在api调用中使用vdom=global。 由于它是一个保留字,api将切换为使用global=1和 注意报告中的差异。
模式
有一个get-schema调用和一个示例来获取 不同的方法来简化它们的编写。
许可证(5.6)
从5.6开始的检查和强制许可证验证检查的rest调用 见许可证。 schema和mkey在每次调用5.6时的用法
现在在登录时检查许可证有效性
版本
测试驱动开发
在tests文件夹中,可以找到一组基于tox的测试作为示例。 fortiosapi-virsh测试需要您具有virsh访问权限,特别是对控制台的访问权限。 这允许从cli自动执行操作并检查api调用的实际结果。 其他测试也很受欢迎。
文件上载/下载
您将在这个库中找到对Fortigate交换文件(配置、日志、许可证)的调用
已知用法
fortiosapi库用于fortinet扩展模块和cloudify插件。 主要由Fortinet员工维护。