Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,10 @@ __Example Script (also some scripts in examples directory):__
""" Example """

import warnings

import phpipamsdk
from phpipamsdk.utils import get_section_id, get_subnet_id

from phpipamsdk.utils import get_subnet_id
from phpipamsdk.utils import get_section_id

def list_subnets(ipam=None, section_name=None):
""" get and print out section subnets """
Expand All @@ -55,7 +55,9 @@ def list_subnets(ipam=None, section_name=None):

if 'data' in subnetlist:
for item in subnetlist['data']:
print item['description'] + ": " + item['subnet'] + "/" + item['mask']
print('{}: {}/{}'.format(
item['description'], item['subnet'], item['mask']))


def add_first_free_subnet(
ipam=None, section_name=None, master_subnet_cidr=None, mask=None):
Expand All @@ -71,6 +73,7 @@ def add_first_free_subnet(
subnet_id=master_subnet_id,
mask=mask)


if __name__ == "__main__":
warnings.filterwarnings('ignore')
IPAM = phpipamsdk.PhpIpamApi()
Expand All @@ -80,7 +83,7 @@ if __name__ == "__main__":
add_first_free_subnet(
ipam=IPAM, section_name='Customers',
master_subnet_cidr="10.10.0.0/16", mask="24")
print '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
print('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')
list_subnets(ipam=IPAM, section_name='Customers')

IPAM.logout()
Expand Down
23 changes: 0 additions & 23 deletions phpipamsdk/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,3 @@
PhpIpam Api SDK
Eric Donohue
"""

from phpipamsdk.controllers import AddressesApi
from phpipamsdk.controllers import CircuitsApi
from phpipamsdk.controllers import DevicesApi
from phpipamsdk.controllers import L2DomainsApi
from phpipamsdk.controllers import PrefixesApi
from phpipamsdk.controllers import SectionsApi
from phpipamsdk.controllers import SubnetsApi
from phpipamsdk.controllers import ToolsCustomersApi
from phpipamsdk.controllers import ToolsDevicesApi
from phpipamsdk.controllers import ToolsDeviceTypesApi
from phpipamsdk.controllers import ToolsLocationsApi
from phpipamsdk.controllers import ToolsNameserversApi
from phpipamsdk.controllers import ToolsNATApi
from phpipamsdk.controllers import ToolsRacksApi
from phpipamsdk.controllers import ToolsScanagentsApi
from phpipamsdk.controllers import ToolsTagsApi
from phpipamsdk.controllers import ToolsVlansApi
from phpipamsdk.controllers import ToolsVRFsApi
from phpipamsdk.controllers import VlansApi
from phpipamsdk.controllers import VRFsApi

from phpipamsdk.phpipam import PhpIpamApi
21 changes: 0 additions & 21 deletions phpipamsdk/controllers/__init__.py
Original file line number Diff line number Diff line change
@@ -1,22 +1 @@
""" Controllers """

from phpipamsdk.controllers.addresses_api import AddressesApi
from phpipamsdk.controllers.circuits_api import CircuitsApi
from phpipamsdk.controllers.devices_api import DevicesApi
from phpipamsdk.controllers.l2domains_api import L2DomainsApi
from phpipamsdk.controllers.prefixes_api import PrefixesApi
from phpipamsdk.controllers.sections_api import SectionsApi
from phpipamsdk.controllers.subnets_api import SubnetsApi
from phpipamsdk.controllers.toolscustomers_api import ToolsCustomersApi
from phpipamsdk.controllers.toolsdevices_api import ToolsDevicesApi
from phpipamsdk.controllers.toolsdevicetypes_api import ToolsDeviceTypesApi
from phpipamsdk.controllers.toolslocations_api import ToolsLocationsApi
from phpipamsdk.controllers.toolsnameservers_api import ToolsNameserversApi
from phpipamsdk.controllers.toolsnat_api import ToolsNATApi
from phpipamsdk.controllers.toolsracks_api import ToolsRacksApi
from phpipamsdk.controllers.toolsscanagents_api import ToolsScanagentsApi
from phpipamsdk.controllers.toolstags_api import ToolsTagsApi
from phpipamsdk.controllers.toolsvlans_api import ToolsVlansApi
from phpipamsdk.controllers.toolsvrfs_api import ToolsVRFsApi
from phpipamsdk.controllers.vlans_api import VlansApi
from phpipamsdk.controllers.vrfs_api import VRFsApi
3 changes: 1 addition & 2 deletions phpipamsdk/controllers/addresses_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
""" Addresses Api Calls """

from phpipamsdk.phpipam import PhpIpamApi
from phpipamsdk.phpipam import build_payload
from phpipamsdk.phpipam import PhpIpamApi, build_payload


class AddressesApi(object):
Expand Down
3 changes: 1 addition & 2 deletions phpipamsdk/controllers/circuits_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
""" Circuits Api Calls """

from phpipamsdk.phpipam import PhpIpamApi
from phpipamsdk.phpipam import build_payload
from phpipamsdk.phpipam import PhpIpamApi, build_payload


class CircuitsApi(object):
Expand Down
3 changes: 1 addition & 2 deletions phpipamsdk/controllers/devices_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
""" Devices Api Calls """

from phpipamsdk.phpipam import PhpIpamApi
from phpipamsdk.phpipam import build_payload
from phpipamsdk.phpipam import PhpIpamApi, build_payload


class DevicesApi(object):
Expand Down
3 changes: 1 addition & 2 deletions phpipamsdk/controllers/l2domains_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
""" L2Domains Api Calls """

from phpipamsdk.phpipam import PhpIpamApi
from phpipamsdk.phpipam import build_payload
from phpipamsdk.phpipam import PhpIpamApi, build_payload


class L2DomainsApi(object):
Expand Down
3 changes: 1 addition & 2 deletions phpipamsdk/controllers/prefixes_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
""" Tools Prefixes Api Calls """

from phpipamsdk.phpipam import PhpIpamApi
from phpipamsdk.phpipam import build_payload
from phpipamsdk.phpipam import PhpIpamApi, build_payload


class PrefixesApi(object):
Expand Down
3 changes: 1 addition & 2 deletions phpipamsdk/controllers/sections_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
""" Sections Api Calls """

from phpipamsdk.phpipam import PhpIpamApi
from phpipamsdk.phpipam import build_payload
from phpipamsdk.phpipam import PhpIpamApi, build_payload


class SectionsApi(object):
Expand Down
3 changes: 1 addition & 2 deletions phpipamsdk/controllers/subnets_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
""" Subnets Api Calls """

from phpipamsdk.phpipam import PhpIpamApi
from phpipamsdk.phpipam import build_payload
from phpipamsdk.phpipam import PhpIpamApi, build_payload


class SubnetsApi(object):
Expand Down
3 changes: 1 addition & 2 deletions phpipamsdk/controllers/toolscustomers_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
""" Tools Customers Api Calls """

from phpipamsdk.phpipam import PhpIpamApi
from phpipamsdk.phpipam import build_payload
from phpipamsdk.phpipam import PhpIpamApi, build_payload


class ToolsCustomersApi(object):
Expand Down
3 changes: 1 addition & 2 deletions phpipamsdk/controllers/toolsdevices_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
""" Tools Devices Api Calls """

from phpipamsdk.phpipam import PhpIpamApi
from phpipamsdk.phpipam import build_payload
from phpipamsdk.phpipam import PhpIpamApi, build_payload


class ToolsDevicesApi(object):
Expand Down
3 changes: 1 addition & 2 deletions phpipamsdk/controllers/toolsdevicetypes_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
""" Tools Device Types Api Calls """

from phpipamsdk.phpipam import PhpIpamApi
from phpipamsdk.phpipam import build_payload
from phpipamsdk.phpipam import PhpIpamApi, build_payload


class ToolsDeviceTypesApi(object):
Expand Down
3 changes: 1 addition & 2 deletions phpipamsdk/controllers/toolslocations_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
""" Tools Locations Api Calls """

from phpipamsdk.phpipam import PhpIpamApi
from phpipamsdk.phpipam import build_payload
from phpipamsdk.phpipam import PhpIpamApi, build_payload


class ToolsLocationsApi(object):
Expand Down
3 changes: 1 addition & 2 deletions phpipamsdk/controllers/toolsnameservers_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
""" Tools Nameservers Api Calls """

from phpipamsdk.phpipam import PhpIpamApi
from phpipamsdk.phpipam import build_payload
from phpipamsdk.phpipam import PhpIpamApi, build_payload


class ToolsNameserversApi(object):
Expand Down
3 changes: 1 addition & 2 deletions phpipamsdk/controllers/toolsnat_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
""" Tools NAT Api Calls """

from phpipamsdk.phpipam import PhpIpamApi
from phpipamsdk.phpipam import build_payload
from phpipamsdk.phpipam import PhpIpamApi, build_payload


class ToolsNATApi(object):
Expand Down
3 changes: 1 addition & 2 deletions phpipamsdk/controllers/toolsracks_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
""" Tools Racks Api Calls """

from phpipamsdk.phpipam import PhpIpamApi
from phpipamsdk.phpipam import build_payload
from phpipamsdk.phpipam import PhpIpamApi, build_payload


class ToolsRacksApi(object):
Expand Down
3 changes: 1 addition & 2 deletions phpipamsdk/controllers/toolsscanagents_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
""" Tools Scanagents Api Calls """

from phpipamsdk.phpipam import PhpIpamApi
from phpipamsdk.phpipam import build_payload
from phpipamsdk.phpipam import PhpIpamApi, build_payload


class ToolsScanagentsApi(object):
Expand Down
3 changes: 1 addition & 2 deletions phpipamsdk/controllers/toolstags_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
""" Tools Tags Api Calls """

from phpipamsdk.phpipam import PhpIpamApi
from phpipamsdk.phpipam import build_payload
from phpipamsdk.phpipam import PhpIpamApi, build_payload


class ToolsTagsApi(object):
Expand Down
3 changes: 1 addition & 2 deletions phpipamsdk/controllers/toolsvlans_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
""" Tools Vlans Api Calls """

from phpipamsdk.phpipam import PhpIpamApi
from phpipamsdk.phpipam import build_payload
from phpipamsdk.phpipam import PhpIpamApi, build_payload


class ToolsVlansApi(object):
Expand Down
3 changes: 1 addition & 2 deletions phpipamsdk/controllers/toolsvrfs_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
""" Tools VRFs Api Calls """

from phpipamsdk.phpipam import PhpIpamApi
from phpipamsdk.phpipam import build_payload
from phpipamsdk.phpipam import PhpIpamApi, build_payload


class ToolsVRFsApi(object):
Expand Down
3 changes: 1 addition & 2 deletions phpipamsdk/controllers/vlans_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
""" Vlans Api Calls """

from phpipamsdk.phpipam import PhpIpamApi
from phpipamsdk.phpipam import build_payload
from phpipamsdk.phpipam import PhpIpamApi, build_payload


class VlansApi(object):
Expand Down
3 changes: 1 addition & 2 deletions phpipamsdk/controllers/vrfs_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
""" VRFs Api Calls """

from phpipamsdk.phpipam import PhpIpamApi
from phpipamsdk.phpipam import build_payload
from phpipamsdk.phpipam import PhpIpamApi, build_payload


class VRFsApi(object):
Expand Down
3 changes: 2 additions & 1 deletion phpipamsdk/phpipam.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
""" Eric Donohue's PhpIPAM SDK """

import json

import requests

from phpipamsdk.configuration import Configuration
Expand All @@ -9,7 +10,7 @@
def build_payload(objmap=None, **kwargs):
""" build the REST payload """
payload = {}
for key, val in kwargs.items():
for key, val in list(kwargs.items()):
if key in objmap:
payload[objmap[key]] = val
return payload
Expand Down
18 changes: 7 additions & 11 deletions phpipamsdk/utils.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,9 @@
""" Utility Functions """
from phpipamsdk.controllers import L2DomainsApi
from phpipamsdk.controllers import SectionsApi
from phpipamsdk.controllers import SubnetsApi
from phpipamsdk.controllers import DevicesApi
from phpipamsdk.controllers import ToolsDevicesApi
from phpipamsdk.controllers import ToolsDeviceTypesApi
from phpipamsdk.controllers import ToolsLocationsApi
from phpipamsdk.controllers import ToolsRacksApi
from phpipamsdk.controllers import ToolsTagsApi
from phpipamsdk.controllers import VlansApi
from phpipamsdk.controllers import VRFsApi
from phpipamsdk.controllers import (DevicesApi, L2DomainsApi, SectionsApi,
SubnetsApi, ToolsDevicesApi,
ToolsDeviceTypesApi, ToolsLocationsApi,
ToolsRacksApi, ToolsTagsApi, VlansApi,
VRFsApi)


def check_list(t_list='', t_item='', t_string=''):
Expand Down Expand Up @@ -69,6 +63,7 @@ def get_tools_device_id(ipam=None, name=None):

return device[0]['id']


def get_device_id(ipam=None, name=None):
devices_api = DevicesApi(phpipam=ipam)

Expand All @@ -80,6 +75,7 @@ def get_device_id(ipam=None, name=None):

return device[0]['id']


def get_section_id(ipam=None, name=None):
sections_api = SectionsApi(phpipam=ipam)

Expand Down
26 changes: 26 additions & 0 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[tox]
envlist = py38, lint, isort
skipsdist = True

[flake8]
exclude =
.git,
.venv,
.tox,
buildtools,
bin,
__pycache__,
max-line-length = 80

[testenv:lint]
commands =
flake8 ./phpipamsdk
deps =
flake8>=3.7.7,<4.0

[testenv:isort]
commands =
isort {posargs} --sd THIRDPARTY -p main -p audit -p sync ./phpipamsdk
deps =
isort>5.0,<6.0