diff --git a/ungleich_dns.py b/ungleich_dns.py new file mode 100644 index 0000000..1dd8204 --- /dev/null +++ b/ungleich_dns.py @@ -0,0 +1,21 @@ +import requests +import argparse + +class ungleichDNS(object): + def __init__(self, parser, parents): + self.parser = parser + + self.parser['dns'] = self.parser['sub'].add_parser( + 'dns', parents=[parents]) + + self.parser['dns'].add_argument('--set-reverse', help='REQUIRED: IPv6 Address of your VM', metavar='', required=True) + self.parser['dns'].add_argument('--user', help='Your ungleich username', metavar='', required=True) + self.parser['dns'].add_argument('--token', help='Your ungleich 6 digit OTP generated token', metavar='', type=int, required=True) + self.parser['dns'].add_argument('--name', help='Hostname', metavar='', required=True) + + def _handle_dns(self): + """A dummy endpoint, to check what endpoint will be reverse-dns service.""" + r = requests.post( + 'https://en53kfc0hydpg.x.pipedream.net', + json={'username': args.user, 'token': args.token, 'ipaddress': args.set_reverse, 'name': args.name}) + return r.text diff --git a/ungleich_ripe.py b/ungleich_ripe.py new file mode 100644 index 0000000..0648b58 --- /dev/null +++ b/ungleich_ripe.py @@ -0,0 +1,16 @@ +import argparse + +class ungleichRIPE(object): + def __init__(self, parser, parents): + self.parser = parser + + self.parser['ripe-route6'] = self.parser['sub'].add_parser( + 'ripe-route6', + parents=[parents], + help="Create route6 object in the ripe database") + + self.parser['ripe-route6'].add_argument('--network', required=True) + self.parser['ripe-route6'].set_defaults(func=self.route6) + + def route6(self, args): + print("Adding a v6 route object at RIPE for {}".format(args.network)) diff --git a/ungleichcli.py b/ungleichcli.py index d3e42e3..792c35a 100644 --- a/ungleichcli.py +++ b/ungleichcli.py @@ -1,19 +1,19 @@ -import requests import argparse +from ungleich_dns import ungleichDNS +from ungleich_ripe import ungleichRIPE VERSION = "0.0.2" -def msg(name=None): - return '''ungleich-cli --set-reverse --user --token --name ''' - - class ungleichCLI(object): def __init__(self): self._init_parser() - def _init_parser(self): + # FIXME: make it generic + dns = ungleichDNS(self.parser, self.parser_parents) + ripe = ungleichRIPE(self.parser, self.parser_parents) + def _init_parser(self): self.parser = {} # Options _all_ parsers have in common @@ -36,29 +36,9 @@ class ungleichCLI(object): # Parents used for all parsers self.parser_parents = self.parser['loglevel'] - def _init_ripe(self): - self.parser['ripe'] = self.parser['sub'].add_parser( - 'ripe', parents=[self.parser_parents]) - - def _init_dns(self): - self.parser['dns'] = self.parser['sub'].add_parser( - 'dns', parents=[self.parser_parents]) - - self.parser['dns'].add_argument('--set-reverse', help='REQUIRED: IPv6 Address of your VM', metavar='', required=True) - self.parser['dns'].add_argument('--user', help='Your ungleich username', metavar='', required=True) - self.parser['dns'].add_argument('--token', help='Your ungleich 6 digit OTP generated token', metavar='', type=int, required=True) - self.parser['dns'].add_argument('--name', help='Hostname', metavar='', required=True) - - def _handle_dns(self): - """A dummy endpoint, to check what endpoint will be reverse-dns service.""" - r = requests.post( - 'https://en53kfc0hydpg.x.pipedream.net', - json={'username': args.user, 'token': args.token, 'ipaddress': args.set_reverse, 'name': args.name}) - return r.text - def commandline(self): args = self.parser['main'].parse_args() - + args.func(args) if __name__ == '__main__':