aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--octodns-custom-providers/source/__init__.py1
-rwxr-xr-xoctodns-custom-providers/source/phpipam.py33
2 files changed, 34 insertions, 0 deletions
diff --git a/octodns-custom-providers/source/__init__.py b/octodns-custom-providers/source/__init__.py
new file mode 100644
index 0000000..f34559e
--- /dev/null
+++ b/octodns-custom-providers/source/__init__.py
@@ -0,0 +1 @@
+'custom octodns sources'
diff --git a/octodns-custom-providers/source/phpipam.py b/octodns-custom-providers/source/phpipam.py
new file mode 100755
index 0000000..aacebb8
--- /dev/null
+++ b/octodns-custom-providers/source/phpipam.py
@@ -0,0 +1,33 @@
+import octodns.zone.Zone
+import octodns.source.base.BaseSource
+import phpipam
+import logging
+
+class PhpipamSource(BaseSource):
+ SUPPORTS_GEO=False
+ SUPPORTS=set(('A', 'AAAA'))
+
+ def __init__(self, id, url, user="", token, appid, section):
+ '''
+ Arguments
+ =========
+ id: str
+ url: str
+ user: str
+ token: str
+ appid: str
+ section: str
+ phpipam section id to search for addresses
+ '''
+ self.log = logging.getLogger('PhpipamSource[{}]'.format(id))
+ self.log.debug('__init__: id=%s url=%s appid=%s', id, url, appid)
+
+ super(PhpipamSource).__init__(id)
+
+ self._ipam = PhpipamAPI( url, appid, user, token )
+
+ def populate(self, zone, target=False, lenient=False):
+ domain = zone.name
+
+ # Do the *MAGIC* Here
+ return False