Skip to content
This repository has been archived by the owner on Mar 28, 2022. It is now read-only.

spotify/pyfg

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.

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.