diff options
author | Jernej Jakob <jernej.jakob@gmail.com> | 2020-06-11 09:20:13 +0200 |
---|---|---|
committer | Jernej Jakob <jernej.jakob@gmail.com> | 2020-06-11 22:10:47 +0200 |
commit | 1cb120a035ede068ac55de017759dc3333935981 (patch) | |
tree | 430a0377a3df4d797d11283f792eab2d1ddfd561 | |
parent | 0eb30e29f9e97f55679970d8dbe65b192b7bf7ca (diff) | |
download | vyos-1x-1cb120a035ede068ac55de017759dc3333935981.tar.gz vyos-1x-1cb120a035ede068ac55de017759dc3333935981.zip |
hostsd_client.py: T2583: update for hostsd rewrite
-rw-r--r-- | python/vyos/hostsd_client.py | 100 |
1 files changed, 75 insertions, 25 deletions
diff --git a/python/vyos/hostsd_client.py b/python/vyos/hostsd_client.py index f009aba98..303b6ea47 100644 --- a/python/vyos/hostsd_client.py +++ b/python/vyos/hostsd_client.py @@ -1,15 +1,11 @@ import json - import zmq - -SOCKET_PATH = "ipc:///run/vyos-hostsd.sock" - +SOCKET_PATH = "ipc:///run/vyos-hostsd/vyos-hostsd.sock" class VyOSHostsdError(Exception): pass - class Client(object): def __init__(self): try: @@ -35,35 +31,89 @@ class Client(object): except zmq.error.Again: raise VyOSHostsdError("Could not connect to vyos-hostsd") - def set_host_name(self, host_name, domain_name, search_domains): - msg = { - 'type': 'host_name', - 'op': 'set', - 'data': { - 'host_name': host_name, - 'domain_name': domain_name, - 'search_domains': search_domains - } - } + def add_name_servers(self, data): + msg = {'type': 'name_servers', 'op': 'add', 'data': data} self._communicate(msg) - def add_hosts(self, tag, hosts): - msg = {'type': 'hosts', 'op': 'add', 'tag': tag, 'data': hosts} + def delete_name_servers(self, data): + msg = {'type': 'name_servers', 'op': 'delete', 'data': data} self._communicate(msg) - def delete_hosts(self, tag): - msg = {'type': 'hosts', 'op': 'delete', 'tag': tag} + def get_name_servers(self, tag_regex): + msg = {'type': 'name_servers', 'op': 'get', 'tag_regex': tag_regex} + return self._communicate(msg) + + def add_name_server_tags_recursor(self, data): + msg = {'type': 'name_server_tags_recursor', 'op': 'add', 'data': data} + self._communicate(msg) + + def delete_name_server_tags_recursor(self, data): + msg = {'type': 'name_server_tags_recursor', 'op': 'delete', 'data': data} + self._communicate(msg) + + def get_name_server_tags_recursor(self): + msg = {'type': 'name_server_tags_recursor', 'op': 'get'} + return self._communicate(msg) + + def add_name_server_tags_system(self, data): + msg = {'type': 'name_server_tags_system', 'op': 'add', 'data': data} + self._communicate(msg) + + def delete_name_server_tags_system(self, data): + msg = {'type': 'name_server_tags_system', 'op': 'delete', 'data': data} self._communicate(msg) - def add_name_servers(self, tag, servers): - msg = {'type': 'name_servers', 'op': 'add', 'tag': tag, 'data': servers} + def get_name_server_tags_system(self): + msg = {'type': 'name_server_tags_system', 'op': 'get'} + return self._communicate(msg) + + def add_forward_zones(self, data): + msg = {'type': 'forward_zones', 'op': 'add', 'data': data} self._communicate(msg) - def delete_name_servers(self, tag): - msg = {'type': 'name_servers', 'op': 'delete', 'tag': tag} + def delete_forward_zones(self, data): + msg = {'type': 'forward_zones', 'op': 'delete', 'data': data} self._communicate(msg) - def get_name_servers(self, tag): - msg = {'type': 'name_servers', 'op': 'get', 'tag': tag} + def get_forward_zones(self): + msg = {'type': 'forward_zones', 'op': 'get'} return self._communicate(msg) + def add_search_domains(self, data): + msg = {'type': 'search_domains', 'op': 'add', 'data': data} + self._communicate(msg) + + def delete_search_domains(self, data): + msg = {'type': 'search_domains', 'op': 'delete', 'data': data} + self._communicate(msg) + + def get_search_domains(self, tag_regex): + msg = {'type': 'search_domains', 'op': 'get', 'tag_regex': tag_regex} + return self._communicate(msg) + + def add_hosts(self, data): + msg = {'type': 'hosts', 'op': 'add', 'data': data} + self._communicate(msg) + + def delete_hosts(self, data): + msg = {'type': 'hosts', 'op': 'delete', 'data': data} + self._communicate(msg) + + def get_hosts(self, tag_regex): + msg = {'type': 'hosts', 'op': 'get', 'tag_regex': tag_regex} + return self._communicate(msg) + + def set_host_name(self, host_name, domain_name): + msg = { + 'type': 'host_name', + 'op': 'set', + 'data': { + 'host_name': host_name, + 'domain_name': domain_name, + } + } + self._communicate(msg) + + def apply(self): + msg = {'op': 'apply'} + return self._communicate(msg) |