aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jonas Gunz <himself@jonasgunz.de> 2020-12-31 14:20:21 +0100
committerGravatar Jonas Gunz <himself@jonasgunz.de> 2020-12-31 14:20:21 +0100
commitfb2ac002b24684acc99db786135181ab78de5e9f (patch)
tree62d217d2f00b8080d7a082ed914414f7e33cbfaa
parent0f68e9fa806529496a8f5ad9518d945755a87c94 (diff)
downloadoctodns-custom-provider-fb2ac002b24684acc99db786135181ab78de5e9f.tar.gz
phpipam
-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