Metadata-Version: 2.0
Name: PyFortiAPI
Version: 0.0.2
Summary: Python Wrapper for FortiGate API
Home-page: https://github.com/jsimpso/PyFortiAPI
Author: James Simpson
Author-email: James@snowterminal.com
License: MIT
Keywords: fortigate fortios api
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Developers
Classifier: Topic :: System :: Networking :: Firewalls
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
Requires-Python: >=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4
Requires-Dist: requests

.. highlight:: python

==========
PyFortiAPI
==========

.. image:: https://img.shields.io/github/license/jsimpso/PyFortiAPI.svg   
  :target: https://github.com/jsimpso/PyFortiAPI

A Python wrapper for the FortiGate REST API (FortiOS 5.4.x+)

Here's a quick usage example::

  >>> import pyfortiapi
  >>> 
  >>> device = pyfortiapi.FortiGate(ipaddr="192.168.0.99", username="admin", password="Guest")
  >>> device.get_firewall_address('Test')
  404
  >>> create_payload = "{'name': 'Test', 'type': 'subnet', 'subnet': '192.168.0.0 255.255.255.0'}"
  >>> device.create_firewall_address('Test', create_payload)
  200
  >>> device.get_firewall_address('Test')
  [{'name': 'Test', 'q_origin_key': 'Test', 'uuid': '9bf2e12a-977b-51e7-ff8d-22d7cf593ab9', 'subnet': '192.168.0.0 255.255.255.0', 'type': 'ipmask', 'start-ip': '192.168.0.0', 'end-ip': '255.255.0.0', 'fqdn': '', 'country': '\n\x05', 'wildcard-fqdn': '', 'cache-ttl': 0, 'wildcard': '192.168.0.0 255.255.0.0', 'comment': '', 'visibility': 'enable', 'associated-interface': '', 'color': 0, 'tags': [], 'allow-routing': 'disable'}]
  >>> update_payload = "{'subnet': '10.0.0.0 255.0.0.0'}"
  >>> device.update_firewall_address('Test', update_payload)
  200
  >>> device.get_firewall_address('Test')
  [{'name': 'Test', 'q_origin_key': 'Test', 'uuid': '9bf2e12a-977b-51e7-ff8d-22d7cf593ab9', 'subnet': '10.0.0.0 255.0.0.0', 'type': 'ipmask', 'start-ip': '10.0.0.0', 'end-ip': '255.0.0.0', 'fqdn': '', 'country': '\n', 'wildcard-fqdn': '', 'cache-ttl': 0, 'wildcard': '10.0.0.0 255.0.0.0', 'comment': '', 'visibility': 'enable', 'associated-interface': '', 'color': 0, 'tags': [], 'allow-routing': 'disable'}]
  >>> device.delete_firewall_address('Test')
  200
  >>> device.get_firewall_address('Test')
  404


Installation
------------

This module has been packaged and uploaded to the PyPi test server. To install:

.. code-block:: none

  pip install --index-url https://test.pypi.org/simple/ pyfortiapi





