Skip to content

vsantiago113/FiremonAPIClient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FiremonAPIClient

PyPI - Status PyPI - Format GitHub GitHub release (latest by date) PyPI - Python Version

An API Client for Firemon to be able to easily use the API in a more standard way.

How to install

$ pip install FiremonAPIClient

Usage

The argument "method" must be specify everytime. Look at authentication validation for an example.

Default arguments and attributes

import FiremonAPIClient

client = FiremonAPIClient.Client(verify=False, warnings=False, api_version='v1')

client.get(url=None, method='', data=None, auth = None)

# client.headers
# client.url_base
# client.token

Import and instantiate the class

import FiremonAPIClient

client = FiremonAPIClient.Client()

Connect, Validate authentication and Disconnect

import FiremonAPIClient
import json

client = FiremonAPIClient.Client()

client.connect(url='https://firemon-server.local', username='admin', password='Admin123')

response = client.post(method='/authentication/validate', data={'username': 'admin', 'password': 'Admin123'})
print(json.dumps(response.json(), indent=4), response.status_code, response.reason)

client.disconnect()

How to get an object

import FiremonAPIClient
import json

client = FiremonAPIClient.Client()
client.connect(url='https://firemon-server.local', username='admin', password='Admin123')

domain_id = 1
group_name = 'mytestgroup'
response = client.get(method=f'/domain/{domain_id}/usergroup/name/{group_name}')
print(json.dumps(response.json(), indent=4), response.status_code, response.reason)

client.disconnect()

How to create an object

import FiremonAPIClient
import json

client = FiremonAPIClient.Client()
client.connect(url='https://firemon-server.local', username='admin', password='Admin123')

domain_id = 1
group_name = 'mytestgroup'
response = client.post(method=f'/domain/{domain_id}/usergroup', domainId=domain_id, data={
            "name": group_name, "description": "This group is a test and can be deleted"})
print(json.dumps(response.json(), indent=4), response.status_code, response.reason)

client.disconnect()

How to update an object

import FiremonAPIClient

client = FiremonAPIClient.Client()
client.connect(url='https://firemon-server.local', username='admin', password='Admin123')

domain_id = 1
group_id = 123
group_name = 'mytestgroup'
response = client.put(method=f'/domain/{domain_id}/usergroup/{group_id}', domainId=domain_id, id=group_id,
                      data={"id": group_id, "domainId": domain_id, "name": group_name,
                            "description": "This group is a test and it has been updated and can be deleted"})
print(response.status_code, response.reason)

client.disconnect()

How to delete an object

import FiremonAPIClient

client = FiremonAPIClient.Client()
client.connect(url='https://firemon-server.local', username='admin', password='Admin123')

domain_id = 1
group_id = 123
response = client.delete(method=f'/domain/{domain_id}/usergroup/{group_id}', domainId=domain_id, id=group_id)
print(response.status_code, response.reason)

client.disconnect()

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages