https://github.com/spotify/pyfg
https://github.com/spotify/pyfg
Last synced: 10 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/spotify/pyfg
- Owner: spotify
- License: apache-2.0
- Archived: true
- Created: 2015-01-22T15:22:52.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2022-03-26T14:47:42.000Z (over 3 years ago)
- Last Synced: 2025-09-21T22:35:36.709Z (2 months ago)
- Language: Python
- Size: 46.9 KB
- Stars: 55
- Watchers: 98
- Forks: 60
- Open Issues: 28
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-network-automation - pyfg - Python library for Fortinet. (Vendor Abstraction Library / NETCONF)
- awesome-network-automation - pyfg - Python library for Fortinet. (Vendor Abstraction Library / NETCONF)
README
PyFG
====
PyFG is a Python (2.7 tested, may work on other versions) package.
API for FortiOS or how to turn FortiOS into JunOS
Introduction
============
This API allows you to interact with a device runnine FortiOS in a sane way. With this API you can:
* Connect to the device, retrieve the running config (the entire config or some blocks, whatever you want) and build a model
* Build the same model from a file
* Do changes in the candidate configuration locally
* Create a candidate configuration from a file
* Do a diff between the running config and the local candidate config
* Generate the necessary commands to go from the running configuration to the candidate configuration
Documentation
=============
You can find the documentation on [Read the Docs](https://pyfg.readthedocs.io/en/latest/index.html).
Installation
============
To install the library execute:
```
pip install pyfg
```
Examples
========
In the examples directory you will find different file with examples on how to use the API:
* example1 - How to retrieve the configuration of a VDOM
* example2 - How to get BGP information and navigate through it
* example3 - How to load BGP configuration from a file (running.conf is emulating this step), load the candidate configuration from a file and then check the differences and show to get to the candidate configuration from the running one.
* example4 - Similar as example3 but this time the changes are done programmatically instead of using a text file.
* example5 - This example will do some changes, will try to commit them, will detect that something went wrong and it will finally rollback the changes.