Hi,
the Hetzner DNS Api returns only the first 100 entries.
I'm managing > 500 DNS Entries at the moment.
i did some changes to support up to 1000 entries.
Maybe you can adopt the idea
--
def show_zones(self):
""" Show all zones eg. hdns show_zones """
pageNum = 1
result_header = ['ID', 'Zone', 'Secondary?', 'NS']
results = []
while pageNum <= 10 :
try:
response = requests.get(
url=f"https://{self.SYSTEM}/api/v1/zones?page={pageNum}",
headers={"Auth-API-Token": self.API_TOKEN}
)
status_code = response.status_code
content = json.loads(response.content)
for zone in content['zones']:
results.append(
[
zone['id'],
zone['name'],
zone['is_secondary_dns'],
", ".join(zone['ns'])um = pageNum + 1
except requests.exceptions.RequestException as e:
logger.exception(e)
hdns_cli.py.txt
print(f"*** Zones @ {self.SYSTEM} " + "*"*80)
print(tabulate.tabulate(results, result_header))
--
and:
--
def _get_zone_id(self, zone_name):
""" PRIVATE: Get the zone id to work with names in records add, mod, remove """
try:
pageNum = 1
while pageNum <= 10 :
response = requests.get(
url=f"https://{self.SYSTEM}/api/v1/zones?page={pageNum}",
headers={"Auth-API-Token": self.API_TOKEN}
)
status_code = response.status_code
content = json.loads(response.content)
if status_code == 200:
for zone in content['zones']:
if zone_name == zone['name']:
return zone['id']
pageNum = pageNum + 1
return False
except requests.exceptions.RequestException as e:
logger.exception(e)
--
Hi,
the Hetzner DNS Api returns only the first 100 entries.
I'm managing > 500 DNS Entries at the moment.
i did some changes to support up to 1000 entries.
Maybe you can adopt the idea
--
def show_zones(self):
""" Show all zones eg. hdns show_zones """
pageNum = 1
hdns_cli.py.txt
--
and:
--
def _get_zone_id(self, zone_name):
""" PRIVATE: Get the zone id to work with names in records add, mod, remove """
try:
pageNum = 1
while pageNum <= 10 :
response = requests.get(
url=f"https://{self.SYSTEM}/api/v1/zones?page={pageNum}",
headers={"Auth-API-Token": self.API_TOKEN}
)
--