diff --git a/ci/testsuite-result.json b/ci/testsuite-result.json index 91495963..0c4a0a51 100644 --- a/ci/testsuite-result.json +++ b/ci/testsuite-result.json @@ -307,18 +307,18 @@ "response": { "nameservers": [ { - "created_at": "2024-12-11T16:44:40.356452+01:00", - "updated_at": "2024-12-11T16:44:40.356481+01:00", + "created_at": "2026-08-31T14:11:20.318019+02:00", + "updated_at": "2026-08-31T14:11:20.318108+02:00", "name": "ns2.example.org", "ttl": null } ], - "created_at": "2024-12-11T16:44:39.701254+01:00", - "updated_at": "2024-12-11T16:44:40.381405+01:00", + "created_at": "2026-08-31T14:11:19.909982+02:00", + "updated_at": "2026-08-31T14:11:20.335905+02:00", "updated": true, "primary_ns": "ns2.example.org", "email": "hostmaster@example.org", - "serialno_updated_at": "2024-12-11T16:44:39.700924+01:00", + "serialno_updated_at": "2026-08-31T14:11:19.908075+02:00", "refresh": 10800, "retry": 3600, "expire": 1814400, @@ -339,41 +339,6 @@ "soa_ttl": 1800 }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/zones/forward/?id=1", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "nameservers": [ - { - "created_at": "2024-12-11T16:44:40.356452+01:00", - "updated_at": "2024-12-11T16:44:40.356481+01:00", - "name": "ns2.example.org", - "ttl": null - } - ], - "created_at": "2024-12-11T16:44:39.701254+01:00", - "updated_at": "2024-12-11T16:44:40.481572+01:00", - "updated": true, - "primary_ns": "ns2.example.org", - "email": "hostperson@example.org", - "serialno_updated_at": "2024-12-11T16:44:40.474871+01:00", - "refresh": 360, - "retry": 1800, - "expire": 2400, - "soa_ttl": 1800, - "default_ttl": 43200, - "name": "example.org" - } - ] - } } ], "time": null @@ -440,41 +405,6 @@ "default_ttl": 300 }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/zones/forward/?id=1", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "nameservers": [ - { - "created_at": "2025-08-26T11:56:35.781651+02:00", - "updated_at": "2025-08-26T11:56:35.781663+02:00", - "name": "ns2.example.org", - "ttl": null - } - ], - "created_at": "2025-08-26T11:56:35.478972+02:00", - "updated_at": "2025-08-26T11:56:36.225371+02:00", - "updated": true, - "primary_ns": "ns2.example.org", - "email": "hostperson@example.org", - "serialno_updated_at": "2025-08-26T11:56:36.090230+02:00", - "refresh": 360, - "retry": 1800, - "expire": 2400, - "soa_ttl": 1800, - "default_ttl": 300, - "name": "example.org" - } - ] - } } ], "time": null @@ -646,35 +576,6 @@ "reserved": 8 }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/networks/?id=1", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "excluded_ranges": [], - "policy": null, - "communities": [], - "created_at": "2025-11-21T13:43:26.081133+01:00", - "updated_at": "2025-11-21T13:43:26.386966+01:00", - "network": "10.0.2.0/28", - "description": "TinyNet", - "vlan": null, - "dns_delegated": false, - "category": "", - "location": "", - "frozen": false, - "reserved": 8, - "max_communities": null - } - ] - } } ], "time": null @@ -9413,35 +9314,6 @@ "reserved": 50 }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/networks/?id=2", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "excluded_ranges": [], - "policy": null, - "communities": [], - "created_at": "2025-11-21T13:43:27.235720+01:00", - "updated_at": "2025-11-21T13:43:27.524281+01:00", - "network": "2001:db8::/64", - "description": "Lorem ipsum dolor sit amet", - "vlan": null, - "dns_delegated": false, - "category": "", - "location": "", - "frozen": false, - "reserved": 50, - "max_communities": null - } - ] - } } ], "time": null @@ -9865,8 +9737,8 @@ "excluded_ranges": [], "policy": null, "communities": [], - "created_at": "2025-11-21T13:43:28.148017+01:00", - "updated_at": "2025-11-21T13:43:28.148033+01:00", + "created_at": "2026-08-31T14:11:25.189112+02:00", + "updated_at": "2026-08-31T14:11:25.189173+02:00", "network": "10.0.1.0/24", "description": "Frozzzen", "vlan": null, @@ -9885,35 +9757,6 @@ "frozen": true }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/networks/?id=3", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "excluded_ranges": [], - "policy": null, - "communities": [], - "created_at": "2025-11-21T13:43:28.148017+01:00", - "updated_at": "2025-11-21T13:43:28.253985+01:00", - "network": "10.0.1.0/24", - "description": "Frozzzen", - "vlan": null, - "dns_delegated": false, - "category": "", - "location": "", - "frozen": true, - "reserved": 3, - "max_communities": null - } - ] - } } ], "time": null @@ -10402,43 +10245,6 @@ "description": "Frozen but has one host" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/networks/?id=3", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "excluded_ranges": [ - { - "created_at": "2025-11-21T13:43:28.484984+01:00", - "updated_at": "2025-11-21T13:43:28.484998+01:00", - "start_ip": "10.0.1.20", - "end_ip": "10.0.1.30", - "network": 3 - } - ], - "policy": null, - "communities": [], - "created_at": "2025-11-21T13:43:28.148017+01:00", - "updated_at": "2025-11-21T13:43:29.077252+01:00", - "network": "10.0.1.0/24", - "description": "Frozen but has one host", - "vlan": null, - "dns_delegated": false, - "category": "", - "location": "", - "frozen": true, - "reserved": 3, - "max_communities": null - } - ] - } } ], "time": null @@ -10463,8 +10269,8 @@ "response": { "excluded_ranges": [ { - "created_at": "2025-11-21T13:43:28.484984+01:00", - "updated_at": "2025-11-21T13:43:28.484998+01:00", + "created_at": "2026-08-31T14:11:25.562992+02:00", + "updated_at": "2026-08-31T14:11:25.563062+02:00", "start_ip": "10.0.1.20", "end_ip": "10.0.1.30", "network": 3 @@ -10472,8 +10278,8 @@ ], "policy": null, "communities": [], - "created_at": "2025-11-21T13:43:28.148017+01:00", - "updated_at": "2025-11-21T13:43:29.077252+01:00", + "created_at": "2026-08-31T14:11:25.189112+02:00", + "updated_at": "2026-08-31T14:11:26.479863+02:00", "network": "10.0.1.0/24", "description": "Frozen but has one host", "vlan": null, @@ -10492,43 +10298,6 @@ "category": "cat1" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/networks/?id=3", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "excluded_ranges": [ - { - "created_at": "2025-11-21T13:43:28.484984+01:00", - "updated_at": "2025-11-21T13:43:28.484998+01:00", - "start_ip": "10.0.1.20", - "end_ip": "10.0.1.30", - "network": 3 - } - ], - "policy": null, - "communities": [], - "created_at": "2025-11-21T13:43:28.148017+01:00", - "updated_at": "2025-11-21T13:43:29.187316+01:00", - "network": "10.0.1.0/24", - "description": "Frozen but has one host", - "vlan": null, - "dns_delegated": false, - "category": "cat1", - "location": "", - "frozen": true, - "reserved": 3, - "max_communities": null - } - ] - } } ], "time": null @@ -10553,8 +10322,8 @@ "response": { "excluded_ranges": [ { - "created_at": "2025-11-21T13:43:28.484984+01:00", - "updated_at": "2025-11-21T13:43:28.484998+01:00", + "created_at": "2026-08-31T14:11:25.562992+02:00", + "updated_at": "2026-08-31T14:11:25.563062+02:00", "start_ip": "10.0.1.20", "end_ip": "10.0.1.30", "network": 3 @@ -10562,8 +10331,8 @@ ], "policy": null, "communities": [], - "created_at": "2025-11-21T13:43:28.148017+01:00", - "updated_at": "2025-11-21T13:43:29.187316+01:00", + "created_at": "2026-08-31T14:11:25.189112+02:00", + "updated_at": "2026-08-31T14:11:26.594001+02:00", "network": "10.0.1.0/24", "description": "Frozen but has one host", "vlan": null, @@ -10582,43 +10351,6 @@ "location": "loc1" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/networks/?id=3", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "excluded_ranges": [ - { - "created_at": "2025-11-21T13:43:28.484984+01:00", - "updated_at": "2025-11-21T13:43:28.484998+01:00", - "start_ip": "10.0.1.20", - "end_ip": "10.0.1.30", - "network": 3 - } - ], - "policy": null, - "communities": [], - "created_at": "2025-11-21T13:43:28.148017+01:00", - "updated_at": "2025-11-21T13:43:29.294695+01:00", - "network": "10.0.1.0/24", - "description": "Frozen but has one host", - "vlan": null, - "dns_delegated": false, - "category": "cat1", - "location": "loc1", - "frozen": true, - "reserved": 3, - "max_communities": null - } - ] - } } ], "time": null @@ -10643,8 +10375,8 @@ "response": { "excluded_ranges": [ { - "created_at": "2025-11-21T13:43:28.484984+01:00", - "updated_at": "2025-11-21T13:43:28.484998+01:00", + "created_at": "2026-08-31T14:11:25.562992+02:00", + "updated_at": "2026-08-31T14:11:25.563062+02:00", "start_ip": "10.0.1.20", "end_ip": "10.0.1.30", "network": 3 @@ -10652,8 +10384,8 @@ ], "policy": null, "communities": [], - "created_at": "2025-11-21T13:43:28.148017+01:00", - "updated_at": "2025-11-21T13:43:29.294695+01:00", + "created_at": "2026-08-31T14:11:25.189112+02:00", + "updated_at": "2026-08-31T14:11:26.690653+02:00", "network": "10.0.1.0/24", "description": "Frozen but has one host", "vlan": null, @@ -10672,43 +10404,6 @@ "vlan": 1234 }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/networks/?id=3", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "excluded_ranges": [ - { - "created_at": "2025-11-21T13:43:28.484984+01:00", - "updated_at": "2025-11-21T13:43:28.484998+01:00", - "start_ip": "10.0.1.20", - "end_ip": "10.0.1.30", - "network": 3 - } - ], - "policy": null, - "communities": [], - "created_at": "2025-11-21T13:43:28.148017+01:00", - "updated_at": "2025-11-21T13:43:29.408487+01:00", - "network": "10.0.1.0/24", - "description": "Frozen but has one host", - "vlan": 1234, - "dns_delegated": false, - "category": "cat1", - "location": "loc1", - "frozen": true, - "reserved": 3, - "max_communities": null - } - ] - } } ], "time": null @@ -10819,7 +10514,7 @@ "api_requests": [ { "method": "GET", - "url": "/api/v1/networks/?network=10.0.1.0%2F24&description__regex=.%2Aone+host.%2A&vlan=1234&dns_delegated=0&category=Yellow&location=Somewhere&frozen=1&reserved=6", + "url": "/api/v1/networks/?network=10.0.1.0%2F24&description__regex=.%2Aone+host.%2A&vlan=1234&dns_delegated=0&category=Yellow&location=Somewhere&frozen=1&reserved=6&page_size=500", "data": {}, "status": 200, "response": { @@ -10990,64 +10685,6 @@ ] }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/hosts/?id=4", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "ipaddresses": [ - { - "macaddress": "", - "created_at": "2026-01-07T11:00:54.688845+01:00", - "updated_at": "2026-01-07T11:00:54.688851+01:00", - "ipaddress": "10.0.1.4", - "host": 4 - } - ], - "cnames": [], - "mxs": [], - "txts": [ - { - "created_at": "2026-01-07T11:00:54.668026+01:00", - "updated_at": "2026-01-07T11:00:54.668033+01:00", - "txt": "v=spf1 -all", - "host": 4 - } - ], - "ptr_overrides": [], - "srvs": [], - "naptrs": [], - "sshfps": [], - "hostgroups": [], - "roles": [], - "hinfo": null, - "loc": null, - "bacnetid": null, - "communities": [], - "contacts": [ - { - "email": "new-support@example.org", - "created_at": "2026-01-07T11:00:55.324057+01:00", - "updated_at": "2026-01-07T11:00:55.324067+01:00" - } - ], - "created_at": "2026-01-07T11:00:54.666120+01:00", - "updated_at": "2026-01-07T11:00:55.320710+01:00", - "name": "somehost.example.org", - "ttl": null, - "comment": "", - "zone": 1, - "contact": "new-support@example.org" - } - ] - } } ], "time": null @@ -11500,8 +11137,8 @@ "response": { "excluded_ranges": [ { - "created_at": "2025-11-21T13:43:28.484984+01:00", - "updated_at": "2025-11-21T13:43:28.484998+01:00", + "created_at": "2026-08-31T14:11:25.562992+02:00", + "updated_at": "2026-08-31T14:11:25.563062+02:00", "start_ip": "10.0.1.20", "end_ip": "10.0.1.30", "network": 3 @@ -11509,8 +11146,8 @@ ], "policy": null, "communities": [], - "created_at": "2025-11-21T13:43:28.148017+01:00", - "updated_at": "2025-11-21T13:43:29.408487+01:00", + "created_at": "2026-08-31T14:11:25.189112+02:00", + "updated_at": "2026-08-31T14:11:26.800384+02:00", "network": "10.0.1.0/24", "description": "Frozen but has one host", "vlan": 1234, @@ -11529,43 +11166,6 @@ "frozen": false }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/networks/?id=3", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "excluded_ranges": [ - { - "created_at": "2025-11-21T13:43:28.484984+01:00", - "updated_at": "2025-11-21T13:43:28.484998+01:00", - "start_ip": "10.0.1.20", - "end_ip": "10.0.1.30", - "network": 3 - } - ], - "policy": null, - "communities": [], - "created_at": "2025-11-21T13:43:28.148017+01:00", - "updated_at": "2025-11-21T13:43:30.808563+01:00", - "network": "10.0.1.0/24", - "description": "Frozen but has one host", - "vlan": 1234, - "dns_delegated": false, - "category": "cat1", - "location": "loc1", - "frozen": false, - "reserved": 3, - "max_communities": null - } - ] - } } ], "time": null @@ -12101,8 +11701,8 @@ "excluded_ranges": [], "policy": null, "communities": [], - "created_at": "2025-11-21T13:43:31.547622+01:00", - "updated_at": "2025-11-21T13:43:31.547636+01:00", + "created_at": "2026-08-31T14:11:30.235145+02:00", + "updated_at": "2026-08-31T14:11:30.235207+02:00", "network": "2001:db8::/64", "description": "Lorem ipsum dolor sit amet", "vlan": null, @@ -12121,35 +11721,6 @@ "frozen": true }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/networks/?id=4", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "excluded_ranges": [], - "policy": null, - "communities": [], - "created_at": "2025-11-21T13:43:31.547622+01:00", - "updated_at": "2025-11-21T13:43:31.784764+01:00", - "network": "2001:db8::/64", - "description": "Lorem ipsum dolor sit amet", - "vlan": null, - "dns_delegated": false, - "category": "", - "location": "", - "frozen": true, - "reserved": 3, - "max_communities": null - } - ] - } } ], "time": null @@ -12576,8 +12147,8 @@ "response": { "excluded_ranges": [ { - "created_at": "2025-11-21T13:43:31.970229+01:00", - "updated_at": "2025-11-21T13:43:31.970243+01:00", + "created_at": "2026-08-31T14:11:30.563688+02:00", + "updated_at": "2026-08-31T14:11:30.563778+02:00", "start_ip": "2001:db8::20", "end_ip": "2001:db8::30", "network": 4 @@ -12585,8 +12156,8 @@ ], "policy": null, "communities": [], - "created_at": "2025-11-21T13:43:31.547622+01:00", - "updated_at": "2025-11-21T13:43:31.784764+01:00", + "created_at": "2026-08-31T14:11:30.235145+02:00", + "updated_at": "2026-08-31T14:11:30.343642+02:00", "network": "2001:db8::/64", "description": "Lorem ipsum dolor sit amet", "vlan": null, @@ -12605,43 +12176,6 @@ "description": "Frozen but has one host" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/networks/?id=4", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "excluded_ranges": [ - { - "created_at": "2025-11-21T13:43:31.970229+01:00", - "updated_at": "2025-11-21T13:43:31.970243+01:00", - "start_ip": "2001:db8::20", - "end_ip": "2001:db8::30", - "network": 4 - } - ], - "policy": null, - "communities": [], - "created_at": "2025-11-21T13:43:31.547622+01:00", - "updated_at": "2025-11-21T13:43:32.408695+01:00", - "network": "2001:db8::/64", - "description": "Frozen but has one host", - "vlan": null, - "dns_delegated": false, - "category": "", - "location": "", - "frozen": true, - "reserved": 3, - "max_communities": null - } - ] - } } ], "time": null @@ -12999,8 +12533,8 @@ "response": { "excluded_ranges": [ { - "created_at": "2025-11-21T13:43:31.970229+01:00", - "updated_at": "2025-11-21T13:43:31.970243+01:00", + "created_at": "2026-08-31T14:11:30.563688+02:00", + "updated_at": "2026-08-31T14:11:30.563778+02:00", "start_ip": "2001:db8::20", "end_ip": "2001:db8::30", "network": 4 @@ -13008,8 +12542,8 @@ ], "policy": null, "communities": [], - "created_at": "2025-11-21T13:43:31.547622+01:00", - "updated_at": "2025-11-21T13:43:32.408695+01:00", + "created_at": "2026-08-31T14:11:30.235145+02:00", + "updated_at": "2026-08-31T14:11:31.544993+02:00", "network": "2001:db8::/64", "description": "Frozen but has one host", "vlan": null, @@ -13028,43 +12562,6 @@ "frozen": false }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/networks/?id=4", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "excluded_ranges": [ - { - "created_at": "2025-11-21T13:43:31.970229+01:00", - "updated_at": "2025-11-21T13:43:31.970243+01:00", - "start_ip": "2001:db8::20", - "end_ip": "2001:db8::30", - "network": 4 - } - ], - "policy": null, - "communities": [], - "created_at": "2025-11-21T13:43:31.547622+01:00", - "updated_at": "2025-11-21T13:43:33.103379+01:00", - "network": "2001:db8::/64", - "description": "Frozen but has one host", - "vlan": null, - "dns_delegated": false, - "category": "", - "location": "", - "frozen": false, - "reserved": 3, - "max_communities": null - } - ] - } } ], "time": null @@ -13602,19 +13099,6 @@ "ipaddress": "10.0.1.0" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/ipaddresses/9", - "data": {}, - "status": 200, - "response": { - "macaddress": "", - "created_at": "2025-08-26T11:56:42.223919+02:00", - "updated_at": "2025-08-26T11:56:42.368461+02:00", - "ipaddress": "10.0.1.0", - "host": 9 - } } ], "time": null @@ -14634,19 +14118,6 @@ "ipaddress": "2001:db8::" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/ipaddresses/13", - "data": {}, - "status": 200, - "response": { - "macaddress": "", - "created_at": "2025-08-26T11:56:43.293421+02:00", - "updated_at": "2025-08-26T11:56:43.429354+02:00", - "ipaddress": "2001:db8::", - "host": 11 - } } ], "time": null @@ -15700,8 +15171,8 @@ "groups": [], "hosts": [], "owners": [], - "created_at": "2026-08-18T12:49:28.955696+02:00", - "updated_at": "2026-08-18T12:49:28.955768+02:00", + "created_at": "2026-08-31T14:11:39.288360+02:00", + "updated_at": "2026-08-31T14:11:39.288437+02:00", "name": "mygroup", "description": "This describes the group" } @@ -15717,8 +15188,8 @@ "mxs": [], "txts": [ { - "created_at": "2026-08-18T12:49:29.226438+02:00", - "updated_at": "2026-08-18T12:49:29.226492+02:00", + "created_at": "2026-08-31T14:11:39.483655+02:00", + "updated_at": "2026-08-31T14:11:39.483706+02:00", "txt": "v=spf1 -all", "host": 14 } @@ -15734,8 +15205,8 @@ "bacnetid": null, "communities": [], "contacts": [], - "created_at": "2026-08-18T12:49:29.213486+02:00", - "updated_at": "2026-08-18T12:49:29.213555+02:00", + "created_at": "2026-08-31T14:11:39.471372+02:00", + "updated_at": "2026-08-31T14:11:39.471429+02:00", "name": "testhost1.example.org", "ttl": null, "comment": "", @@ -15753,33 +15224,6 @@ "response": { "name": "testhost1.example.org" } - }, - { - "method": "GET", - "url": "/api/v1/hostgroups/?id=1", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "parent": [], - "groups": [], - "hosts": [ - { - "name": "testhost1.example.org" - } - ], - "owners": [], - "created_at": "2026-08-18T12:49:28.955696+02:00", - "updated_at": "2026-08-18T12:49:30.328721+02:00", - "name": "mygroup", - "description": "This describes the group" - } - ] - } } ], "time": null @@ -15810,8 +15254,8 @@ } ], "owners": [], - "created_at": "2026-08-18T12:49:28.955696+02:00", - "updated_at": "2026-08-18T12:49:30.328721+02:00", + "created_at": "2026-08-31T14:11:39.288360+02:00", + "updated_at": "2026-08-31T14:11:40.121826+02:00", "name": "mygroup", "description": "This describes the group" } @@ -15827,8 +15271,8 @@ "mxs": [], "txts": [ { - "created_at": "2026-08-18T12:49:29.670778+02:00", - "updated_at": "2026-08-18T12:49:29.670847+02:00", + "created_at": "2026-08-31T14:11:39.795098+02:00", + "updated_at": "2026-08-31T14:11:39.795150+02:00", "txt": "v=spf1 -all", "host": 15 } @@ -15844,8 +15288,8 @@ "bacnetid": null, "communities": [], "contacts": [], - "created_at": "2026-08-18T12:49:29.654651+02:00", - "updated_at": "2026-08-18T12:49:29.654734+02:00", + "created_at": "2026-08-31T14:11:39.782134+02:00", + "updated_at": "2026-08-31T14:11:39.782198+02:00", "name": "testhost2.example.org", "ttl": null, "comment": "", @@ -15863,36 +15307,6 @@ "response": { "name": "testhost2.example.org" } - }, - { - "method": "GET", - "url": "/api/v1/hostgroups/?id=1", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "parent": [], - "groups": [], - "hosts": [ - { - "name": "testhost1.example.org" - }, - { - "name": "testhost2.example.org" - } - ], - "owners": [], - "created_at": "2026-08-18T12:49:28.955696+02:00", - "updated_at": "2026-08-18T12:49:30.649594+02:00", - "name": "mygroup", - "description": "This describes the group" - } - ] - } } ], "time": null @@ -15926,8 +15340,8 @@ } ], "owners": [], - "created_at": "2026-08-18T12:49:28.955696+02:00", - "updated_at": "2026-08-18T12:49:30.649594+02:00", + "created_at": "2026-08-31T14:11:39.288360+02:00", + "updated_at": "2026-08-31T14:11:40.349147+02:00", "name": "mygroup", "description": "This describes the group" } @@ -15942,40 +15356,6 @@ "response": { "name": "myself" } - }, - { - "method": "GET", - "url": "/api/v1/hostgroups/?id=1", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "parent": [], - "groups": [], - "hosts": [ - { - "name": "testhost1.example.org" - }, - { - "name": "testhost2.example.org" - } - ], - "owners": [ - { - "name": "myself" - } - ], - "created_at": "2026-08-18T12:49:28.955696+02:00", - "updated_at": "2026-08-18T12:49:30.649594+02:00", - "name": "mygroup", - "description": "This describes the group" - } - ] - } } ], "time": null @@ -16013,8 +15393,8 @@ "name": "myself" } ], - "created_at": "2025-12-18T11:57:35.650538+01:00", - "updated_at": "2025-12-18T11:57:36.097321+01:00", + "created_at": "2026-08-31T14:11:39.288360+02:00", + "updated_at": "2026-08-31T14:11:40.349147+02:00", "name": "mygroup", "description": "This describes the group" } @@ -16030,8 +15410,8 @@ "mxs": [], "txts": [ { - "created_at": "2025-12-18T11:57:35.886406+01:00", - "updated_at": "2025-12-18T11:57:35.886416+01:00", + "created_at": "2026-08-31T14:11:39.795098+02:00", + "updated_at": "2026-08-31T14:11:39.795150+02:00", "txt": "v=spf1 -all", "host": 15 } @@ -16049,8 +15429,8 @@ "bacnetid": null, "communities": [], "contacts": [], - "created_at": "2025-12-18T11:57:35.884719+01:00", - "updated_at": "2025-12-18T11:57:35.884726+01:00", + "created_at": "2026-08-31T14:11:39.782134+02:00", + "updated_at": "2026-08-31T14:11:39.782198+02:00", "name": "testhost2.example.org", "ttl": null, "comment": "", @@ -16063,37 +15443,6 @@ "url": "/api/v1/hostgroups/mygroup/hosts/testhost2.example.org", "data": {}, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/hostgroups/?id=1", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "parent": [], - "groups": [], - "hosts": [ - { - "name": "testhost1.example.org" - } - ], - "owners": [ - { - "name": "myself" - } - ], - "created_at": "2025-12-18T11:57:35.650538+01:00", - "updated_at": "2025-12-18T11:57:36.266552+01:00", - "name": "mygroup", - "description": "This describes the group" - } - ] - } } ], "time": null @@ -16397,8 +15746,8 @@ "groups": [], "hosts": [], "owners": [], - "created_at": "2026-08-18T12:49:31.788276+02:00", - "updated_at": "2026-08-18T12:49:31.788346+02:00", + "created_at": "2026-08-31T14:11:41.100635+02:00", + "updated_at": "2026-08-31T14:11:41.100699+02:00", "name": "yourgroup", "description": "meh" } @@ -16421,8 +15770,8 @@ "name": "myself" } ], - "created_at": "2026-08-18T12:49:28.955696+02:00", - "updated_at": "2026-08-18T12:49:31.196403+02:00", + "created_at": "2026-08-31T14:11:39.288360+02:00", + "updated_at": "2026-08-31T14:11:40.675105+02:00", "name": "mygroup", "description": "This describes the group" } @@ -16443,46 +15792,11 @@ "groups": [], "hosts": [], "owners": [], - "created_at": "2026-08-18T12:49:31.788276+02:00", - "updated_at": "2026-08-18T12:49:31.788346+02:00", + "created_at": "2026-08-31T14:11:41.100635+02:00", + "updated_at": "2026-08-31T14:11:41.100699+02:00", "name": "yourgroup", "description": "meh" } - }, - { - "method": "GET", - "url": "/api/v1/hostgroups/?id=1", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "parent": [], - "groups": [ - { - "name": "yourgroup" - } - ], - "hosts": [ - { - "name": "testhost1.example.org" - } - ], - "owners": [ - { - "name": "myself" - } - ], - "created_at": "2026-08-18T12:49:28.955696+02:00", - "updated_at": "2026-08-18T12:49:32.046622+02:00", - "name": "mygroup", - "description": "This describes the group" - } - ] - } } ], "time": null @@ -16663,37 +15977,6 @@ "url": "/api/v1/hostgroups/mygroup/groups/yourgroup", "data": {}, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/hostgroups/?id=1", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "parent": [], - "groups": [], - "hosts": [ - { - "name": "testhost1.example.org" - } - ], - "owners": [ - { - "name": "myself" - } - ], - "created_at": "2025-08-26T11:56:44.457550+02:00", - "updated_at": "2025-08-26T11:56:45.501550+02:00", - "name": "mygroup", - "description": "This describes the group" - } - ] - } } ], "time": null @@ -16728,8 +16011,8 @@ "name": "myself" } ], - "created_at": "2026-08-18T12:49:28.955696+02:00", - "updated_at": "2026-08-18T12:49:32.526715+02:00", + "created_at": "2026-08-31T14:11:39.288360+02:00", + "updated_at": "2026-08-31T14:11:41.635089+02:00", "name": "mygroup", "description": "This describes the group" } @@ -16744,40 +16027,6 @@ "response": { "name": "anotherowner" } - }, - { - "method": "GET", - "url": "/api/v1/hostgroups/?id=1", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "parent": [], - "groups": [], - "hosts": [ - { - "name": "testhost1.example.org" - } - ], - "owners": [ - { - "name": "myself" - }, - { - "name": "anotherowner" - } - ], - "created_at": "2026-08-18T12:49:28.955696+02:00", - "updated_at": "2026-08-18T12:49:32.526715+02:00", - "name": "mygroup", - "description": "This describes the group" - } - ] - } } ], "time": null @@ -16815,8 +16064,8 @@ "name": "myself" } ], - "created_at": "2024-12-11T16:44:54.078203+01:00", - "updated_at": "2024-12-11T16:44:56.864542+01:00", + "created_at": "2026-08-31T14:11:39.288360+02:00", + "updated_at": "2026-08-31T14:11:41.635089+02:00", "name": "mygroup", "description": "This describes the group" } @@ -16826,37 +16075,6 @@ "url": "/api/v1/hostgroups/mygroup/owners/myself", "data": {}, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/hostgroups/?id=1", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "parent": [], - "groups": [], - "hosts": [ - { - "name": "testhost1.example.org" - } - ], - "owners": [ - { - "name": "anotherowner" - } - ], - "created_at": "2024-12-11T16:44:54.078203+01:00", - "updated_at": "2024-12-11T16:44:56.864542+01:00", - "name": "mygroup", - "description": "This describes the group" - } - ] - } } ], "time": null @@ -18753,7 +17971,7 @@ "name": "fruit" } ], - "updated_at": "2024-12-11T16:45:00.386958+01:00", + "updated_at": "2026-08-31T14:11:44.942332+02:00", "description": "Round and orange", "name": "orange" } @@ -18765,29 +17983,6 @@ "description": "Juicy" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/hostpolicy/atoms/?id=2", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "roles": [ - { - "name": "fruit" - } - ], - "updated_at": "2024-12-11T16:45:02.376357+01:00", - "description": "Juicy", - "name": "orange" - } - ] - } } ], "time": null @@ -18847,7 +18042,7 @@ "name": "fruit" } ], - "updated_at": "2025-05-19T10:27:49.697504+02:00", + "updated_at": "2026-08-31T14:11:46.896929+02:00", "description": "Juicy", "name": "orange" } @@ -18859,29 +18054,6 @@ "name": "tangerine" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/hostpolicy/atoms/?id=2", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "roles": [ - { - "name": "fruit" - } - ], - "updated_at": "2025-05-19T10:27:49.824613+02:00", - "description": "Juicy", - "name": "tangerine" - } - ] - } } ], "time": null @@ -20283,8 +19455,8 @@ "results": [ { "macaddress": "", - "created_at": "2025-08-26T11:56:49.288257+02:00", - "updated_at": "2025-08-26T11:56:49.288280+02:00", + "created_at": "2026-08-31T14:11:50.636596+02:00", + "updated_at": "2026-08-31T14:11:50.636649+02:00", "ipaddress": "10.0.0.5", "host": 18 } @@ -20298,19 +19470,6 @@ "macaddress": "aa:bb:cc:dd:ee:ff" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/ipaddresses/16", - "data": {}, - "status": 200, - "response": { - "macaddress": "aa:bb:cc:dd:ee:ff", - "created_at": "2025-08-26T11:56:49.288257+02:00", - "updated_at": "2025-08-26T11:56:49.602146+02:00", - "ipaddress": "10.0.0.5", - "host": 18 - } } ], "time": null @@ -20366,8 +19525,8 @@ "results": [ { "macaddress": "aa:bb:cc:dd:ee:ff", - "created_at": "2025-06-19T13:09:07.202179+02:00", - "updated_at": "2025-06-19T13:09:07.552574+02:00", + "created_at": "2026-08-31T14:11:50.636596+02:00", + "updated_at": "2026-08-31T14:11:51.113602+02:00", "ipaddress": "10.0.0.5", "host": 18 } @@ -20381,19 +19540,6 @@ "macaddress": "" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/ipaddresses/16", - "data": {}, - "status": 200, - "response": { - "macaddress": "", - "created_at": "2025-06-19T13:09:07.202179+02:00", - "updated_at": "2025-06-19T13:09:07.662258+02:00", - "ipaddress": "10.0.0.5", - "host": 18 - } } ], "time": null @@ -20490,8 +19636,8 @@ "ipaddresses": [ { "macaddress": "", - "created_at": "2025-12-18T11:57:39.939680+01:00", - "updated_at": "2025-12-18T11:57:40.180958+01:00", + "created_at": "2026-08-31T14:11:50.636596+02:00", + "updated_at": "2026-08-31T14:11:51.380786+02:00", "ipaddress": "10.0.0.5", "host": 18 } @@ -20500,8 +19646,8 @@ "mxs": [], "txts": [ { - "created_at": "2025-12-18T11:57:39.783040+01:00", - "updated_at": "2025-12-18T11:57:39.783047+01:00", + "created_at": "2026-08-31T14:11:49.680018+02:00", + "updated_at": "2026-08-31T14:11:49.680074+02:00", "txt": "v=spf1 -all", "host": 18 } @@ -20517,8 +19663,8 @@ "bacnetid": null, "communities": [], "contacts": [], - "created_at": "2025-12-18T11:57:39.780995+01:00", - "updated_at": "2025-12-18T11:57:39.781005+01:00", + "created_at": "2026-08-31T14:11:49.666188+02:00", + "updated_at": "2026-08-31T14:11:49.666248+02:00", "name": "foo.example.org", "ttl": null, "comment": "", @@ -20533,19 +19679,6 @@ "macaddress": "aa:bb:cc:dd:ee:ff" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/ipaddresses/16", - "data": {}, - "status": 200, - "response": { - "macaddress": "aa:bb:cc:dd:ee:ff", - "created_at": "2025-12-18T11:57:39.939680+01:00", - "updated_at": "2025-12-18T11:57:40.338390+01:00", - "ipaddress": "10.0.0.5", - "host": 18 - } } ], "time": null @@ -20571,8 +19704,8 @@ "ipaddresses": [ { "macaddress": "aa:bb:cc:dd:ee:ff", - "created_at": "2025-12-18T11:57:39.939680+01:00", - "updated_at": "2025-12-18T11:57:40.338390+01:00", + "created_at": "2026-08-31T14:11:50.636596+02:00", + "updated_at": "2026-08-31T14:11:51.902290+02:00", "ipaddress": "10.0.0.5", "host": 18 } @@ -20581,8 +19714,8 @@ "mxs": [], "txts": [ { - "created_at": "2025-12-18T11:57:39.783040+01:00", - "updated_at": "2025-12-18T11:57:39.783047+01:00", + "created_at": "2026-08-31T14:11:49.680018+02:00", + "updated_at": "2026-08-31T14:11:49.680074+02:00", "txt": "v=spf1 -all", "host": 18 } @@ -20598,8 +19731,8 @@ "bacnetid": null, "communities": [], "contacts": [], - "created_at": "2025-12-18T11:57:39.780995+01:00", - "updated_at": "2025-12-18T11:57:39.781005+01:00", + "created_at": "2026-08-31T14:11:49.666188+02:00", + "updated_at": "2026-08-31T14:11:49.666248+02:00", "name": "foo.example.org", "ttl": null, "comment": "", @@ -20614,19 +19747,6 @@ "macaddress": "" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/ipaddresses/16", - "data": {}, - "status": 200, - "response": { - "macaddress": "", - "created_at": "2025-12-18T11:57:39.939680+01:00", - "updated_at": "2025-12-18T11:57:40.413651+01:00", - "ipaddress": "10.0.0.5", - "host": 18 - } } ], "time": null @@ -21666,8 +20786,8 @@ "excluded_ranges": [], "policy": null, "communities": [], - "created_at": "2026-07-02T15:12:33.801417+02:00", - "updated_at": "2026-07-02T15:12:33.801501+02:00", + "created_at": "2026-08-31T14:11:49.464225+02:00", + "updated_at": "2026-08-31T14:11:49.464291+02:00", "network": "10.0.0.0/24", "description": "foo", "vlan": 1234, @@ -21688,8 +20808,8 @@ "excluded_ranges": [], "policy": null, "communities": [], - "created_at": "2026-07-02T15:12:40.995724+02:00", - "updated_at": "2026-07-02T15:12:40.995804+02:00", + "created_at": "2026-08-31T14:11:54.031210+02:00", + "updated_at": "2026-08-31T14:11:54.031272+02:00", "network": "2001:db8::/64", "description": "foo_ipv6", "vlan": 1234, @@ -21708,19 +20828,6 @@ "macaddress": "aa:bb:cc:dd:ee:ff" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/ipaddresses/17", - "data": {}, - "status": 200, - "response": { - "macaddress": "aa:bb:cc:dd:ee:ff", - "created_at": "2026-07-02T15:12:39.561031+02:00", - "updated_at": "2026-07-02T15:12:42.892751+02:00", - "ipaddress": "10.0.0.5", - "host": 18 - } } ], "time": null @@ -22160,8 +21267,8 @@ " 10.0.0.10 11:22:33:aa:bb:cc ", "TTL: (Default)", "TXT: v=spf1 -all", - "Created: Wed Aug 19 16:43:44 2026", - "Updated: Wed Aug 19 16:43:44 2026" + "Created: Mon Aug 31 14:11:56 2026", + "Updated: Mon Aug 31 14:11:56 2026" ], "api_requests": [ { @@ -22217,18 +21324,18 @@ "zone": { "nameservers": [ { - "created_at": "2026-08-19T16:43:06.839615+02:00", - "updated_at": "2026-08-19T16:43:06.839685+02:00", + "created_at": "2026-08-31T14:11:20.318019+02:00", + "updated_at": "2026-08-31T14:11:20.318108+02:00", "name": "ns2.example.org", "ttl": null } ], - "created_at": "2026-08-19T16:43:06.403630+02:00", - "updated_at": "2026-08-19T16:43:43.282946+02:00", + "created_at": "2026-08-31T14:11:19.909982+02:00", + "updated_at": "2026-08-31T14:11:55.953974+02:00", "updated": true, "primary_ns": "ns2.example.org", "email": "hostperson@example.org", - "serialno_updated_at": "2026-08-19T16:43:07.425633+02:00", + "serialno_updated_at": "2026-08-31T14:11:20.436026+02:00", "refresh": 360, "retry": 1800, "expire": 2400, @@ -22247,8 +21354,8 @@ "excluded_ranges": [], "policy": null, "communities": [], - "created_at": "2026-08-19T16:43:43.793256+02:00", - "updated_at": "2026-08-19T16:43:43.793319+02:00", + "created_at": "2026-08-31T14:11:56.543661+02:00", + "updated_at": "2026-08-31T14:11:56.543759+02:00", "network": "10.0.0.0/24", "description": "lorem ipsum", "vlan": null, @@ -22276,8 +21383,8 @@ "ipaddresses": [ { "macaddress": "", - "created_at": "2026-08-19T16:43:44.368238+02:00", - "updated_at": "2026-08-19T16:43:44.368293+02:00", + "created_at": "2026-08-31T14:11:57.589718+02:00", + "updated_at": "2026-08-31T14:11:57.589771+02:00", "ipaddress": "10.0.0.10", "host": 19 } @@ -22286,8 +21393,8 @@ "mxs": [], "txts": [ { - "created_at": "2026-08-19T16:43:44.241573+02:00", - "updated_at": "2026-08-19T16:43:44.241627+02:00", + "created_at": "2026-08-31T14:11:57.002646+02:00", + "updated_at": "2026-08-31T14:11:57.002701+02:00", "txt": "v=spf1 -all", "host": 19 } @@ -22305,12 +21412,12 @@ "contacts": [ { "email": "hi@ho.com", - "created_at": "2026-08-19T16:43:44.259961+02:00", - "updated_at": "2026-08-19T16:43:44.260023+02:00" + "created_at": "2026-08-31T14:11:57.483697+02:00", + "updated_at": "2026-08-31T14:11:57.483768+02:00" } ], - "created_at": "2026-08-19T16:43:44.229551+02:00", - "updated_at": "2026-08-19T16:43:44.229608+02:00", + "created_at": "2026-08-31T14:11:56.988830+02:00", + "updated_at": "2026-08-31T14:11:56.988885+02:00", "name": "foo.example.org", "ttl": null, "comment": "meh", @@ -22326,19 +21433,6 @@ }, "status": 204 }, - { - "method": "GET", - "url": "/api/v1/ipaddresses/21", - "data": {}, - "status": 200, - "response": { - "macaddress": "11:22:33:aa:bb:cc", - "created_at": "2026-08-19T16:43:44.368238+02:00", - "updated_at": "2026-08-19T16:43:44.603045+02:00", - "ipaddress": "10.0.0.10", - "host": 19 - } - }, { "method": "GET", "url": "/api/v1/hosts/foo.example.org", @@ -22348,8 +21442,8 @@ "ipaddresses": [ { "macaddress": "11:22:33:aa:bb:cc", - "created_at": "2026-08-19T16:43:44.368238+02:00", - "updated_at": "2026-08-19T16:43:44.603045+02:00", + "created_at": "2026-08-31T14:11:57.589718+02:00", + "updated_at": "2026-08-31T14:11:57.797795+02:00", "ipaddress": "10.0.0.10", "host": 19 } @@ -22358,8 +21452,8 @@ "mxs": [], "txts": [ { - "created_at": "2026-08-19T16:43:44.241573+02:00", - "updated_at": "2026-08-19T16:43:44.241627+02:00", + "created_at": "2026-08-31T14:11:57.002646+02:00", + "updated_at": "2026-08-31T14:11:57.002701+02:00", "txt": "v=spf1 -all", "host": 19 } @@ -22377,12 +21471,12 @@ "contacts": [ { "email": "hi@ho.com", - "created_at": "2026-08-19T16:43:44.259961+02:00", - "updated_at": "2026-08-19T16:43:44.260023+02:00" + "created_at": "2026-08-31T14:11:57.483697+02:00", + "updated_at": "2026-08-31T14:11:57.483768+02:00" } ], - "created_at": "2026-08-19T16:43:44.229551+02:00", - "updated_at": "2026-08-19T16:43:44.229608+02:00", + "created_at": "2026-08-31T14:11:56.988830+02:00", + "updated_at": "2026-08-31T14:11:56.988885+02:00", "name": "foo.example.org", "ttl": null, "comment": "meh", @@ -22399,8 +21493,8 @@ "excluded_ranges": [], "policy": null, "communities": [], - "created_at": "2026-08-19T16:43:43.793256+02:00", - "updated_at": "2026-08-19T16:43:43.793319+02:00", + "created_at": "2026-08-31T14:11:56.543661+02:00", + "updated_at": "2026-08-31T14:11:56.543759+02:00", "network": "10.0.0.0/24", "description": "lorem ipsum", "vlan": null, @@ -22453,7 +21547,7 @@ "api_requests": [ { "method": "GET", - "url": "/api/v1/hosts/?ordering=name&name__regex=.%2Aoo.%2A", + "url": "/api/v1/hosts/?ordering=name&name__regex=.%2Aoo.%2A&page_size=500", "data": {}, "status": 200, "response": { @@ -22465,8 +21559,8 @@ "ipaddresses": [ { "macaddress": "11:22:33:aa:bb:cc", - "created_at": "2026-04-20T16:03:33.608920+02:00", - "updated_at": "2026-04-20T16:03:34.121446+02:00", + "created_at": "2026-08-26T15:32:57.648111+02:00", + "updated_at": "2026-08-26T15:32:58.050964+02:00", "ipaddress": "10.0.0.10", "host": 19 } @@ -22475,8 +21569,8 @@ "mxs": [], "txts": [ { - "created_at": "2026-04-20T16:03:33.351245+02:00", - "updated_at": "2026-04-20T16:03:33.351281+02:00", + "created_at": "2026-08-26T15:32:57.510029+02:00", + "updated_at": "2026-08-26T15:32:57.510082+02:00", "txt": "v=spf1 -all", "host": 19 } @@ -22494,12 +21588,12 @@ "contacts": [ { "email": "hi@ho.com", - "created_at": "2026-04-20T16:03:33.379144+02:00", - "updated_at": "2026-04-20T16:03:33.379164+02:00" + "created_at": "2026-08-26T15:32:57.530392+02:00", + "updated_at": "2026-08-26T15:32:57.530453+02:00" } ], - "created_at": "2026-04-20T16:03:33.328134+02:00", - "updated_at": "2026-04-20T16:03:33.328152+02:00", + "created_at": "2026-08-26T15:32:57.496279+02:00", + "updated_at": "2026-08-26T15:32:57.496347+02:00", "name": "foo.example.org", "ttl": null, "comment": "meh", @@ -22527,7 +21621,7 @@ "api_requests": [ { "method": "GET", - "url": "/api/v1/hosts/?ordering=name&contact__regex=%5Ehi", + "url": "/api/v1/hosts/?ordering=name&contact__regex=%5Ehi&page_size=500", "data": {}, "status": 200, "response": { @@ -22539,8 +21633,8 @@ "ipaddresses": [ { "macaddress": "11:22:33:aa:bb:cc", - "created_at": "2026-04-20T16:03:33.608920+02:00", - "updated_at": "2026-04-20T16:03:34.121446+02:00", + "created_at": "2026-08-26T15:32:57.648111+02:00", + "updated_at": "2026-08-26T15:32:58.050964+02:00", "ipaddress": "10.0.0.10", "host": 19 } @@ -22549,8 +21643,8 @@ "mxs": [], "txts": [ { - "created_at": "2026-04-20T16:03:33.351245+02:00", - "updated_at": "2026-04-20T16:03:33.351281+02:00", + "created_at": "2026-08-26T15:32:57.510029+02:00", + "updated_at": "2026-08-26T15:32:57.510082+02:00", "txt": "v=spf1 -all", "host": 19 } @@ -22568,12 +21662,12 @@ "contacts": [ { "email": "hi@ho.com", - "created_at": "2026-04-20T16:03:33.379144+02:00", - "updated_at": "2026-04-20T16:03:33.379164+02:00" + "created_at": "2026-08-26T15:32:57.530392+02:00", + "updated_at": "2026-08-26T15:32:57.530453+02:00" } ], - "created_at": "2026-04-20T16:03:33.328134+02:00", - "updated_at": "2026-04-20T16:03:33.328152+02:00", + "created_at": "2026-08-26T15:32:57.496279+02:00", + "updated_at": "2026-08-26T15:32:57.496347+02:00", "name": "foo.example.org", "ttl": null, "comment": "meh", @@ -22601,7 +21695,7 @@ "api_requests": [ { "method": "GET", - "url": "/api/v1/hosts/?ordering=name&comment__regex=.%2Ameh.%2A", + "url": "/api/v1/hosts/?ordering=name&comment__regex=.%2Ameh.%2A&page_size=500", "data": {}, "status": 200, "response": { @@ -22613,8 +21707,8 @@ "ipaddresses": [ { "macaddress": "11:22:33:aa:bb:cc", - "created_at": "2026-04-20T16:03:33.608920+02:00", - "updated_at": "2026-04-20T16:03:34.121446+02:00", + "created_at": "2026-08-26T15:32:57.648111+02:00", + "updated_at": "2026-08-26T15:32:58.050964+02:00", "ipaddress": "10.0.0.10", "host": 19 } @@ -22623,8 +21717,8 @@ "mxs": [], "txts": [ { - "created_at": "2026-04-20T16:03:33.351245+02:00", - "updated_at": "2026-04-20T16:03:33.351281+02:00", + "created_at": "2026-08-26T15:32:57.510029+02:00", + "updated_at": "2026-08-26T15:32:57.510082+02:00", "txt": "v=spf1 -all", "host": 19 } @@ -22642,12 +21736,12 @@ "contacts": [ { "email": "hi@ho.com", - "created_at": "2026-04-20T16:03:33.379144+02:00", - "updated_at": "2026-04-20T16:03:33.379164+02:00" + "created_at": "2026-08-26T15:32:57.530392+02:00", + "updated_at": "2026-08-26T15:32:57.530453+02:00" } ], - "created_at": "2026-04-20T16:03:33.328134+02:00", - "updated_at": "2026-04-20T16:03:33.328152+02:00", + "created_at": "2026-08-26T15:32:57.496279+02:00", + "updated_at": "2026-08-26T15:32:57.496347+02:00", "name": "foo.example.org", "ttl": null, "comment": "meh", @@ -22675,7 +21769,7 @@ "api_requests": [ { "method": "GET", - "url": "/api/v1/hosts/?ordering=name&contact__regex=%5Eh&comment__regex=%5Em&name__regex=%5Ef", + "url": "/api/v1/hosts/?ordering=name&contact__regex=%5Eh&comment__regex=%5Em&name__regex=%5Ef&page_size=500", "data": {}, "status": 200, "response": { @@ -22687,8 +21781,8 @@ "ipaddresses": [ { "macaddress": "11:22:33:aa:bb:cc", - "created_at": "2026-04-20T16:03:33.608920+02:00", - "updated_at": "2026-04-20T16:03:34.121446+02:00", + "created_at": "2026-08-26T15:32:57.648111+02:00", + "updated_at": "2026-08-26T15:32:58.050964+02:00", "ipaddress": "10.0.0.10", "host": 19 } @@ -22697,8 +21791,8 @@ "mxs": [], "txts": [ { - "created_at": "2026-04-20T16:03:33.351245+02:00", - "updated_at": "2026-04-20T16:03:33.351281+02:00", + "created_at": "2026-08-26T15:32:57.510029+02:00", + "updated_at": "2026-08-26T15:32:57.510082+02:00", "txt": "v=spf1 -all", "host": 19 } @@ -22716,12 +21810,12 @@ "contacts": [ { "email": "hi@ho.com", - "created_at": "2026-04-20T16:03:33.379144+02:00", - "updated_at": "2026-04-20T16:03:33.379164+02:00" + "created_at": "2026-08-26T15:32:57.530392+02:00", + "updated_at": "2026-08-26T15:32:57.530453+02:00" } ], - "created_at": "2026-04-20T16:03:33.328134+02:00", - "updated_at": "2026-04-20T16:03:33.328152+02:00", + "created_at": "2026-08-26T15:32:57.496279+02:00", + "updated_at": "2026-08-26T15:32:57.496347+02:00", "name": "foo.example.org", "ttl": null, "comment": "meh", @@ -22787,18 +21881,18 @@ "zone": { "nameservers": [ { - "created_at": "2025-12-18T11:57:28.616170+01:00", - "updated_at": "2025-12-18T11:57:28.616179+01:00", + "created_at": "2026-08-31T14:11:20.318019+02:00", + "updated_at": "2026-08-31T14:11:20.318108+02:00", "name": "ns2.example.org", "ttl": null } ], - "created_at": "2025-12-18T11:57:28.475473+01:00", - "updated_at": "2025-12-18T11:57:42.329381+01:00", + "created_at": "2026-08-31T14:11:19.909982+02:00", + "updated_at": "2026-08-31T14:11:57.793382+02:00", "updated": true, "primary_ns": "ns2.example.org", "email": "hostperson@example.org", - "serialno_updated_at": "2025-12-18T11:57:28.657477+01:00", + "serialno_updated_at": "2026-08-31T14:11:20.436026+02:00", "refresh": 360, "retry": 1800, "expire": 2400, @@ -22815,64 +21909,6 @@ "name": "bar.example.org" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/hosts/?id=19", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "ipaddresses": [ - { - "macaddress": "11:22:33:aa:bb:cc", - "created_at": "2025-12-18T11:57:42.249661+01:00", - "updated_at": "2025-12-18T11:57:42.329996+01:00", - "ipaddress": "10.0.0.10", - "host": 19 - } - ], - "cnames": [], - "mxs": [], - "txts": [ - { - "created_at": "2025-12-18T11:57:42.230049+01:00", - "updated_at": "2025-12-18T11:57:42.230056+01:00", - "txt": "v=spf1 -all", - "host": 19 - } - ], - "ptr_overrides": [], - "srvs": [], - "naptrs": [], - "sshfps": [], - "hostgroups": [], - "roles": [], - "hinfo": null, - "loc": null, - "bacnetid": null, - "communities": [], - "contacts": [ - { - "email": "hi@ho.com", - "created_at": "2025-12-18T11:57:42.232796+01:00", - "updated_at": "2025-12-18T11:57:42.232806+01:00" - } - ], - "created_at": "2025-12-18T11:57:42.227827+01:00", - "updated_at": "2025-12-18T11:57:42.774801+01:00", - "name": "bar.example.org", - "ttl": null, - "comment": "meh", - "zone": 1, - "contact": "hi@ho.com" - } - ] - } } ], "time": null @@ -22898,8 +21934,8 @@ "ipaddresses": [ { "macaddress": "11:22:33:aa:bb:cc", - "created_at": "2025-12-18T11:57:42.249661+01:00", - "updated_at": "2025-12-18T11:57:42.329996+01:00", + "created_at": "2026-08-31T14:11:57.589718+02:00", + "updated_at": "2026-08-31T14:11:57.797795+02:00", "ipaddress": "10.0.0.10", "host": 19 } @@ -22908,8 +21944,8 @@ "mxs": [], "txts": [ { - "created_at": "2025-12-18T11:57:42.230049+01:00", - "updated_at": "2025-12-18T11:57:42.230056+01:00", + "created_at": "2026-08-31T14:11:57.002646+02:00", + "updated_at": "2026-08-31T14:11:57.002701+02:00", "txt": "v=spf1 -all", "host": 19 } @@ -22927,12 +21963,12 @@ "contacts": [ { "email": "hi@ho.com", - "created_at": "2025-12-18T11:57:42.232796+01:00", - "updated_at": "2025-12-18T11:57:42.232806+01:00" + "created_at": "2026-08-31T14:11:57.483697+02:00", + "updated_at": "2026-08-31T14:11:57.483768+02:00" } ], - "created_at": "2025-12-18T11:57:42.227827+01:00", - "updated_at": "2025-12-18T11:57:42.774801+01:00", + "created_at": "2026-08-31T14:11:56.988830+02:00", + "updated_at": "2026-08-31T14:11:59.859087+02:00", "name": "bar.example.org", "ttl": null, "comment": "meh", @@ -22947,64 +21983,6 @@ "comment": "This is the comment" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/hosts/?id=19", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "ipaddresses": [ - { - "macaddress": "11:22:33:aa:bb:cc", - "created_at": "2025-12-18T11:57:42.249661+01:00", - "updated_at": "2025-12-18T11:57:42.329996+01:00", - "ipaddress": "10.0.0.10", - "host": 19 - } - ], - "cnames": [], - "mxs": [], - "txts": [ - { - "created_at": "2025-12-18T11:57:42.230049+01:00", - "updated_at": "2025-12-18T11:57:42.230056+01:00", - "txt": "v=spf1 -all", - "host": 19 - } - ], - "ptr_overrides": [], - "srvs": [], - "naptrs": [], - "sshfps": [], - "hostgroups": [], - "roles": [], - "hinfo": null, - "loc": null, - "bacnetid": null, - "communities": [], - "contacts": [ - { - "email": "hi@ho.com", - "created_at": "2025-12-18T11:57:42.232796+01:00", - "updated_at": "2025-12-18T11:57:42.232806+01:00" - } - ], - "created_at": "2025-12-18T11:57:42.227827+01:00", - "updated_at": "2025-12-18T11:57:42.915837+01:00", - "name": "bar.example.org", - "ttl": null, - "comment": "This is the comment", - "zone": 1, - "contact": "hi@ho.com" - } - ] - } } ], "time": null @@ -23116,64 +22094,6 @@ ] }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/hosts/?id=19", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "ipaddresses": [ - { - "macaddress": "11:22:33:aa:bb:cc", - "created_at": "2026-01-07T11:01:10.026774+01:00", - "updated_at": "2026-01-07T11:01:10.254006+01:00", - "ipaddress": "10.0.0.10", - "host": 19 - } - ], - "cnames": [], - "mxs": [], - "txts": [ - { - "created_at": "2026-01-07T11:01:09.865581+01:00", - "updated_at": "2026-01-07T11:01:09.865592+01:00", - "txt": "v=spf1 -all", - "host": 19 - } - ], - "ptr_overrides": [], - "srvs": [], - "naptrs": [], - "sshfps": [], - "hostgroups": [], - "roles": [], - "hinfo": null, - "loc": null, - "bacnetid": null, - "communities": [], - "contacts": [ - { - "email": "me@example.org", - "created_at": "2026-01-07T11:01:11.700613+01:00", - "updated_at": "2026-01-07T11:01:11.700625+01:00" - } - ], - "created_at": "2026-01-07T11:01:09.857927+01:00", - "updated_at": "2026-01-07T11:01:11.694474+01:00", - "name": "bar.example.org", - "ttl": null, - "comment": "This is the comment", - "zone": 1, - "contact": "me@example.org" - } - ] - } } ], "time": null @@ -23495,8 +22415,8 @@ "excluded_ranges": [], "policy": null, "communities": [], - "created_at": "2026-07-02T13:13:58.937752+02:00", - "updated_at": "2026-07-02T13:13:58.937824+02:00", + "created_at": "2026-08-31T14:11:56.543661+02:00", + "updated_at": "2026-08-31T14:11:56.543759+02:00", "network": "10.0.0.0/24", "description": "lorem ipsum", "vlan": null, @@ -23539,19 +22459,6 @@ "ipaddress": "10.0.0.14" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/ipaddresses/22", - "data": {}, - "status": 200, - "response": { - "macaddress": "", - "created_at": "2026-07-02T13:14:05.101869+02:00", - "updated_at": "2026-07-02T13:14:06.244202+02:00", - "ipaddress": "10.0.0.14", - "host": 19 - } } ], "time": null @@ -23577,8 +22484,8 @@ "excluded_ranges": [], "policy": null, "communities": [], - "created_at": "2026-07-02T13:13:58.937752+02:00", - "updated_at": "2026-07-02T13:13:58.937824+02:00", + "created_at": "2026-08-31T14:11:56.543661+02:00", + "updated_at": "2026-08-31T14:11:56.543759+02:00", "network": "10.0.0.0/24", "description": "lorem ipsum", "vlan": null, @@ -23599,22 +22506,22 @@ "ipaddresses": [ { "macaddress": "11:22:33:aa:bb:cc", - "created_at": "2026-07-02T13:13:59.623077+02:00", - "updated_at": "2026-07-02T13:13:59.864330+02:00", + "created_at": "2026-08-31T14:11:57.589718+02:00", + "updated_at": "2026-08-31T14:11:57.797795+02:00", "ipaddress": "10.0.0.10", "host": 19 }, { "macaddress": "11:22:33:44:55:66", - "created_at": "2026-07-02T13:14:05.374299+02:00", - "updated_at": "2026-07-02T13:14:05.374360+02:00", + "created_at": "2026-08-31T14:12:02.043983+02:00", + "updated_at": "2026-08-31T14:12:02.044042+02:00", "ipaddress": "10.0.0.13", "host": 19 }, { "macaddress": "", - "created_at": "2026-07-02T13:14:05.101869+02:00", - "updated_at": "2026-07-02T13:14:06.244202+02:00", + "created_at": "2026-08-31T14:12:01.784725+02:00", + "updated_at": "2026-08-31T14:12:02.935388+02:00", "ipaddress": "10.0.0.14", "host": 19 } @@ -23623,8 +22530,8 @@ "mxs": [], "txts": [ { - "created_at": "2026-07-02T13:13:59.499363+02:00", - "updated_at": "2026-07-02T13:13:59.499416+02:00", + "created_at": "2026-08-31T14:11:57.002646+02:00", + "updated_at": "2026-08-31T14:11:57.002701+02:00", "txt": "v=spf1 -all", "host": 19 } @@ -23642,12 +22549,12 @@ "contacts": [ { "email": "me@example.org", - "created_at": "2026-07-02T13:14:04.498267+02:00", - "updated_at": "2026-07-02T13:14:04.498352+02:00" + "created_at": "2026-08-31T14:12:01.503654+02:00", + "updated_at": "2026-08-31T14:12:01.503726+02:00" } ], - "created_at": "2026-07-02T13:13:59.487010+02:00", - "updated_at": "2026-07-02T13:14:04.468914+02:00", + "created_at": "2026-08-31T14:11:56.988830+02:00", + "updated_at": "2026-08-31T14:12:01.480277+02:00", "name": "bar.example.org", "ttl": null, "comment": "This is the comment", @@ -23686,19 +22593,6 @@ "ipaddress": "10.0.0.15" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/ipaddresses/23", - "data": {}, - "status": 200, - "response": { - "macaddress": "11:22:33:44:55:66", - "created_at": "2026-07-02T13:14:05.374299+02:00", - "updated_at": "2026-07-02T13:14:07.149956+02:00", - "ipaddress": "10.0.0.15", - "host": 19 - } } ], "time": null @@ -23927,22 +22821,22 @@ "ipaddresses": [ { "macaddress": "11:22:33:aa:bb:cc", - "created_at": "2025-12-18T11:57:42.249661+01:00", - "updated_at": "2025-12-18T11:57:42.329996+01:00", + "created_at": "2026-08-31T14:11:57.589718+02:00", + "updated_at": "2026-08-31T14:11:57.797795+02:00", "ipaddress": "10.0.0.10", "host": 19 }, { "macaddress": "", - "created_at": "2025-12-18T11:57:43.239182+01:00", - "updated_at": "2025-12-18T11:57:43.570824+01:00", + "created_at": "2026-08-31T14:12:01.784725+02:00", + "updated_at": "2026-08-31T14:12:02.935388+02:00", "ipaddress": "10.0.0.14", "host": 19 }, { "macaddress": "11:22:33:44:55:66", - "created_at": "2025-12-18T11:57:43.362990+01:00", - "updated_at": "2025-12-18T11:57:43.705817+01:00", + "created_at": "2026-08-31T14:12:02.043983+02:00", + "updated_at": "2026-08-31T14:12:03.874399+02:00", "ipaddress": "10.0.0.15", "host": 19 } @@ -23951,8 +22845,8 @@ "mxs": [], "txts": [ { - "created_at": "2025-12-18T11:57:42.230049+01:00", - "updated_at": "2025-12-18T11:57:42.230056+01:00", + "created_at": "2026-08-31T14:11:57.002646+02:00", + "updated_at": "2026-08-31T14:11:57.002701+02:00", "txt": "v=spf1 -all", "host": 19 } @@ -23970,12 +22864,12 @@ "contacts": [ { "email": "me@example.org", - "created_at": "2025-12-18T11:57:30.192767+01:00", - "updated_at": "2025-12-18T11:57:30.192776+01:00" + "created_at": "2026-08-31T14:12:01.503654+02:00", + "updated_at": "2026-08-31T14:12:01.503726+02:00" } ], - "created_at": "2025-12-18T11:57:42.227827+01:00", - "updated_at": "2025-12-18T11:57:43.108914+01:00", + "created_at": "2026-08-31T14:11:56.988830+02:00", + "updated_at": "2026-08-31T14:12:01.480277+02:00", "name": "bar.example.org", "ttl": null, "comment": "This is the comment", @@ -23994,8 +22888,8 @@ "mxs": [], "txts": [ { - "created_at": "2025-12-18T11:57:43.828754+01:00", - "updated_at": "2025-12-18T11:57:43.828759+01:00", + "created_at": "2026-08-31T14:12:04.245019+02:00", + "updated_at": "2026-08-31T14:12:04.245079+02:00", "txt": "v=spf1 -all", "host": 20 } @@ -24011,8 +22905,8 @@ "bacnetid": null, "communities": [], "contacts": [], - "created_at": "2025-12-18T11:57:43.827115+01:00", - "updated_at": "2025-12-18T11:57:43.827125+01:00", + "created_at": "2026-08-31T14:12:04.230916+02:00", + "updated_at": "2026-08-31T14:12:04.230974+02:00", "name": "baz.example.org", "ttl": null, "comment": "", @@ -24027,19 +22921,6 @@ "host": 20 }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/ipaddresses/21", - "data": {}, - "status": 200, - "response": { - "macaddress": "11:22:33:aa:bb:cc", - "created_at": "2025-12-18T11:57:42.249661+01:00", - "updated_at": "2025-12-18T11:57:43.967359+01:00", - "ipaddress": "10.0.0.10", - "host": 20 - } } ], "time": null @@ -24591,8 +23472,8 @@ "excluded_ranges": [], "policy": null, "communities": [], - "created_at": "2026-07-02T15:42:35.739389+02:00", - "updated_at": "2026-07-02T15:42:35.739454+02:00", + "created_at": "2026-08-31T14:11:56.710056+02:00", + "updated_at": "2026-08-31T14:11:56.710121+02:00", "network": "2001:db8::/64", "description": "dolor sit amet", "vlan": null, @@ -24635,19 +23516,6 @@ "ipaddress": "2001:db8::13" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/ipaddresses/24", - "data": {}, - "status": 200, - "response": { - "macaddress": "", - "created_at": "2026-07-02T15:42:45.268908+02:00", - "updated_at": "2026-07-02T15:42:46.725954+02:00", - "ipaddress": "2001:db8::13", - "host": 19 - } } ], "time": null @@ -24673,8 +23541,8 @@ "excluded_ranges": [], "policy": null, "communities": [], - "created_at": "2026-07-02T15:42:35.739389+02:00", - "updated_at": "2026-07-02T15:42:35.739454+02:00", + "created_at": "2026-08-31T14:11:56.710056+02:00", + "updated_at": "2026-08-31T14:11:56.710121+02:00", "network": "2001:db8::/64", "description": "dolor sit amet", "vlan": null, @@ -24695,29 +23563,29 @@ "ipaddresses": [ { "macaddress": "", - "created_at": "2026-07-02T15:42:41.680236+02:00", - "updated_at": "2026-07-02T15:42:42.802948+02:00", + "created_at": "2026-08-31T14:12:01.784725+02:00", + "updated_at": "2026-08-31T14:12:02.935388+02:00", "ipaddress": "10.0.0.14", "host": 19 }, { "macaddress": "11:22:33:44:55:66", - "created_at": "2026-07-02T15:42:41.928158+02:00", - "updated_at": "2026-07-02T15:42:43.880065+02:00", + "created_at": "2026-08-31T14:12:02.043983+02:00", + "updated_at": "2026-08-31T14:12:03.874399+02:00", "ipaddress": "10.0.0.15", "host": 19 }, { "macaddress": "11:22:33:44:55:67", - "created_at": "2026-07-02T15:42:45.516752+02:00", - "updated_at": "2026-07-02T15:42:45.516806+02:00", + "created_at": "2026-08-31T14:12:05.446155+02:00", + "updated_at": "2026-08-31T14:12:05.446209+02:00", "ipaddress": "2001:db8::12", "host": 19 }, { "macaddress": "", - "created_at": "2026-07-02T15:42:45.268908+02:00", - "updated_at": "2026-07-02T15:42:46.725954+02:00", + "created_at": "2026-08-31T14:12:05.182781+02:00", + "updated_at": "2026-08-31T14:12:06.510929+02:00", "ipaddress": "2001:db8::13", "host": 19 } @@ -24726,8 +23594,8 @@ "mxs": [], "txts": [ { - "created_at": "2026-07-02T15:42:36.107569+02:00", - "updated_at": "2026-07-02T15:42:36.107628+02:00", + "created_at": "2026-08-31T14:11:57.002646+02:00", + "updated_at": "2026-08-31T14:11:57.002701+02:00", "txt": "v=spf1 -all", "host": 19 } @@ -24745,12 +23613,12 @@ "contacts": [ { "email": "me@example.org", - "created_at": "2026-07-02T15:42:41.009832+02:00", - "updated_at": "2026-07-02T15:42:41.009917+02:00" + "created_at": "2026-08-31T14:12:01.503654+02:00", + "updated_at": "2026-08-31T14:12:01.503726+02:00" } ], - "created_at": "2026-07-02T15:42:36.090492+02:00", - "updated_at": "2026-07-02T15:42:40.980440+02:00", + "created_at": "2026-08-31T14:11:56.988830+02:00", + "updated_at": "2026-08-31T14:12:01.480277+02:00", "name": "bar.example.org", "ttl": null, "comment": "This is the comment", @@ -24789,19 +23657,6 @@ "ipaddress": "2001:db8::14" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/ipaddresses/25", - "data": {}, - "status": 200, - "response": { - "macaddress": "11:22:33:44:55:67", - "created_at": "2026-07-02T15:42:45.516752+02:00", - "updated_at": "2026-07-02T15:42:47.678166+02:00", - "ipaddress": "2001:db8::14", - "host": 19 - } } ], "time": null @@ -24920,22 +23775,22 @@ "ipaddresses": [ { "macaddress": "", - "created_at": "2025-12-18T11:57:43.239182+01:00", - "updated_at": "2025-12-18T11:57:43.570824+01:00", + "created_at": "2026-08-31T14:12:01.784725+02:00", + "updated_at": "2026-08-31T14:12:02.935388+02:00", "ipaddress": "10.0.0.14", "host": 19 }, { "macaddress": "11:22:33:44:55:66", - "created_at": "2025-12-18T11:57:43.362990+01:00", - "updated_at": "2025-12-18T11:57:43.705817+01:00", + "created_at": "2026-08-31T14:12:02.043983+02:00", + "updated_at": "2026-08-31T14:12:03.874399+02:00", "ipaddress": "10.0.0.15", "host": 19 }, { "macaddress": "11:22:33:44:55:67", - "created_at": "2025-12-18T11:57:44.257547+01:00", - "updated_at": "2025-12-18T11:57:44.639146+01:00", + "created_at": "2026-08-31T14:12:05.446155+02:00", + "updated_at": "2026-08-31T14:12:07.536414+02:00", "ipaddress": "2001:db8::14", "host": 19 } @@ -24944,8 +23799,8 @@ "mxs": [], "txts": [ { - "created_at": "2025-12-18T11:57:42.230049+01:00", - "updated_at": "2025-12-18T11:57:42.230056+01:00", + "created_at": "2026-08-31T14:11:57.002646+02:00", + "updated_at": "2026-08-31T14:11:57.002701+02:00", "txt": "v=spf1 -all", "host": 19 } @@ -24963,12 +23818,12 @@ "contacts": [ { "email": "me@example.org", - "created_at": "2025-12-18T11:57:30.192767+01:00", - "updated_at": "2025-12-18T11:57:30.192776+01:00" + "created_at": "2026-08-31T14:12:01.503654+02:00", + "updated_at": "2026-08-31T14:12:01.503726+02:00" } ], - "created_at": "2025-12-18T11:57:42.227827+01:00", - "updated_at": "2025-12-18T11:57:43.108914+01:00", + "created_at": "2026-08-31T14:11:56.988830+02:00", + "updated_at": "2026-08-31T14:12:01.480277+02:00", "name": "bar.example.org", "ttl": null, "comment": "This is the comment", @@ -24985,8 +23840,8 @@ "ipaddresses": [ { "macaddress": "11:22:33:aa:bb:cc", - "created_at": "2025-12-18T11:57:42.249661+01:00", - "updated_at": "2025-12-18T11:57:43.967359+01:00", + "created_at": "2026-08-31T14:11:57.589718+02:00", + "updated_at": "2026-08-31T14:12:04.733910+02:00", "ipaddress": "10.0.0.10", "host": 20 } @@ -24995,8 +23850,8 @@ "mxs": [], "txts": [ { - "created_at": "2025-12-18T11:57:43.828754+01:00", - "updated_at": "2025-12-18T11:57:43.828759+01:00", + "created_at": "2026-08-31T14:12:04.245019+02:00", + "updated_at": "2026-08-31T14:12:04.245079+02:00", "txt": "v=spf1 -all", "host": 20 } @@ -25012,8 +23867,8 @@ "bacnetid": null, "communities": [], "contacts": [], - "created_at": "2025-12-18T11:57:43.827115+01:00", - "updated_at": "2025-12-18T11:57:43.827125+01:00", + "created_at": "2026-08-31T14:12:04.230916+02:00", + "updated_at": "2026-08-31T14:12:04.230974+02:00", "name": "baz.example.org", "ttl": null, "comment": "", @@ -25028,19 +23883,6 @@ "host": 20 }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/ipaddresses/25", - "data": {}, - "status": 200, - "response": { - "macaddress": "11:22:33:44:55:67", - "created_at": "2025-12-18T11:57:44.257547+01:00", - "updated_at": "2025-12-18T11:57:44.800173+01:00", - "ipaddress": "2001:db8::14", - "host": 20 - } } ], "time": null @@ -27074,15 +25916,15 @@ "ipaddresses": [ { "macaddress": "11:22:33:aa:bb:cc", - "created_at": "2025-12-18T11:57:42.249661+01:00", - "updated_at": "2025-12-18T11:57:43.967359+01:00", + "created_at": "2026-08-31T14:11:57.589718+02:00", + "updated_at": "2026-08-31T14:12:04.733910+02:00", "ipaddress": "10.0.0.10", "host": 20 }, { "macaddress": "11:22:33:44:55:67", - "created_at": "2025-12-18T11:57:44.257547+01:00", - "updated_at": "2025-12-18T11:57:44.800173+01:00", + "created_at": "2026-08-31T14:12:05.446155+02:00", + "updated_at": "2026-08-31T14:12:08.116982+02:00", "ipaddress": "2001:db8::14", "host": 20 } @@ -27091,16 +25933,16 @@ "mxs": [], "txts": [ { - "created_at": "2025-12-18T11:57:43.828754+01:00", - "updated_at": "2025-12-18T11:57:43.828759+01:00", + "created_at": "2026-08-31T14:12:04.245019+02:00", + "updated_at": "2026-08-31T14:12:04.245079+02:00", "txt": "v=spf1 -all", "host": 20 } ], "ptr_overrides": [ { - "created_at": "2025-12-18T11:57:45.867776+01:00", - "updated_at": "2025-12-18T11:57:45.867782+01:00", + "created_at": "2026-08-31T14:12:11.900298+02:00", + "updated_at": "2026-08-31T14:12:11.900352+02:00", "ipaddress": "10.0.0.20", "host": 20 } @@ -27115,8 +25957,8 @@ "bacnetid": null, "communities": [], "contacts": [], - "created_at": "2025-12-18T11:57:43.827115+01:00", - "updated_at": "2025-12-18T11:57:43.827125+01:00", + "created_at": "2026-08-31T14:12:04.230916+02:00", + "updated_at": "2026-08-31T14:12:04.230974+02:00", "name": "baz.example.org", "ttl": null, "comment": "", @@ -27135,8 +25977,8 @@ "mxs": [], "txts": [ { - "created_at": "2025-12-18T11:57:46.112130+01:00", - "updated_at": "2025-12-18T11:57:46.112136+01:00", + "created_at": "2026-08-31T14:12:13.021190+02:00", + "updated_at": "2026-08-31T14:12:13.021246+02:00", "txt": "v=spf1 -all", "host": 21 } @@ -27152,8 +25994,8 @@ "bacnetid": null, "communities": [], "contacts": [], - "created_at": "2025-12-18T11:57:46.109990+01:00", - "updated_at": "2025-12-18T11:57:46.109999+01:00", + "created_at": "2026-08-31T14:12:13.008716+02:00", + "updated_at": "2026-08-31T14:12:13.008776+02:00", "name": "clover.example.org", "ttl": null, "comment": "", @@ -27168,18 +26010,6 @@ "host": 21 }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/ptroverrides/1", - "data": {}, - "status": 200, - "response": { - "created_at": "2025-12-18T11:57:45.867776+01:00", - "updated_at": "2025-12-18T11:57:46.237650+01:00", - "ipaddress": "10.0.0.20", - "host": 21 - } } ], "time": null @@ -28997,8 +27827,8 @@ " 10.0.0.4 aa:bb:cc:cc:bb:aa ", "TTL: (Default)", "TXT: v=spf1 -all", - "Created: Wed Aug 19 16:44:06 2026", - "Updated: Wed Aug 19 16:44:06 2026" + "Created: Mon Aug 31 14:12:20 2026", + "Updated: Mon Aug 31 14:12:20 2026" ], "api_requests": [ { @@ -29054,18 +27884,18 @@ "zone": { "nameservers": [ { - "created_at": "2026-08-19T16:43:06.839615+02:00", - "updated_at": "2026-08-19T16:43:06.839685+02:00", + "created_at": "2026-08-31T14:11:20.318019+02:00", + "updated_at": "2026-08-31T14:11:20.318108+02:00", "name": "ns2.example.org", "ttl": null } ], - "created_at": "2026-08-19T16:43:06.403630+02:00", - "updated_at": "2026-08-19T16:44:06.369584+02:00", + "created_at": "2026-08-31T14:11:19.909982+02:00", + "updated_at": "2026-08-31T14:12:20.201183+02:00", "updated": true, "primary_ns": "ns2.example.org", "email": "hostperson@example.org", - "serialno_updated_at": "2026-08-19T16:43:07.425633+02:00", + "serialno_updated_at": "2026-08-31T14:11:20.436026+02:00", "refresh": 360, "retry": 1800, "expire": 2400, @@ -29084,8 +27914,8 @@ "excluded_ranges": [], "policy": null, "communities": [], - "created_at": "2026-08-19T16:43:43.793256+02:00", - "updated_at": "2026-08-19T16:43:43.793319+02:00", + "created_at": "2026-08-31T14:11:56.543661+02:00", + "updated_at": "2026-08-31T14:11:56.543759+02:00", "network": "10.0.0.0/24", "description": "lorem ipsum", "vlan": null, @@ -29109,8 +27939,8 @@ "ipaddresses": [ { "macaddress": "", - "created_at": "2026-08-19T16:44:06.826397+02:00", - "updated_at": "2026-08-19T16:44:06.826451+02:00", + "created_at": "2026-08-31T14:12:20.662274+02:00", + "updated_at": "2026-08-31T14:12:20.662326+02:00", "ipaddress": "10.0.0.4", "host": 23 } @@ -29119,8 +27949,8 @@ "mxs": [], "txts": [ { - "created_at": "2026-08-19T16:44:06.708855+02:00", - "updated_at": "2026-08-19T16:44:06.708915+02:00", + "created_at": "2026-08-31T14:12:20.547053+02:00", + "updated_at": "2026-08-31T14:12:20.547106+02:00", "txt": "v=spf1 -all", "host": 23 } @@ -29136,8 +27966,8 @@ "bacnetid": null, "communities": [], "contacts": [], - "created_at": "2026-08-19T16:44:06.693963+02:00", - "updated_at": "2026-08-19T16:44:06.694022+02:00", + "created_at": "2026-08-31T14:12:20.535261+02:00", + "updated_at": "2026-08-31T14:12:20.535319+02:00", "name": "directok.example.org", "ttl": null, "comment": "", @@ -29153,19 +27983,6 @@ }, "status": 204 }, - { - "method": "GET", - "url": "/api/v1/ipaddresses/26", - "data": {}, - "status": 200, - "response": { - "macaddress": "aa:bb:cc:cc:bb:aa", - "created_at": "2026-08-19T16:44:06.826397+02:00", - "updated_at": "2026-08-19T16:44:07.042160+02:00", - "ipaddress": "10.0.0.4", - "host": 23 - } - }, { "method": "GET", "url": "/api/v1/hosts/directok.example.org", @@ -29175,8 +27992,8 @@ "ipaddresses": [ { "macaddress": "aa:bb:cc:cc:bb:aa", - "created_at": "2026-08-19T16:44:06.826397+02:00", - "updated_at": "2026-08-19T16:44:07.042160+02:00", + "created_at": "2026-08-31T14:12:20.662274+02:00", + "updated_at": "2026-08-31T14:12:20.883413+02:00", "ipaddress": "10.0.0.4", "host": 23 } @@ -29185,8 +28002,8 @@ "mxs": [], "txts": [ { - "created_at": "2026-08-19T16:44:06.708855+02:00", - "updated_at": "2026-08-19T16:44:06.708915+02:00", + "created_at": "2026-08-31T14:12:20.547053+02:00", + "updated_at": "2026-08-31T14:12:20.547106+02:00", "txt": "v=spf1 -all", "host": 23 } @@ -29202,8 +28019,8 @@ "bacnetid": null, "communities": [], "contacts": [], - "created_at": "2026-08-19T16:44:06.693963+02:00", - "updated_at": "2026-08-19T16:44:06.694022+02:00", + "created_at": "2026-08-31T14:12:20.535261+02:00", + "updated_at": "2026-08-31T14:12:20.535319+02:00", "name": "directok.example.org", "ttl": null, "comment": "", @@ -29220,8 +28037,8 @@ "excluded_ranges": [], "policy": null, "communities": [], - "created_at": "2026-08-19T16:43:43.793256+02:00", - "updated_at": "2026-08-19T16:43:43.793319+02:00", + "created_at": "2026-08-31T14:11:56.543661+02:00", + "updated_at": "2026-08-31T14:11:56.543759+02:00", "network": "10.0.0.0/24", "description": "lorem ipsum", "vlan": null, @@ -32624,18 +31441,6 @@ "name": "mylabel" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/labels/1", - "data": {}, - "status": 200, - "response": { - "created_at": "2025-08-26T11:57:08.510558+02:00", - "updated_at": "2025-08-26T11:57:08.656676+02:00", - "name": "mylabel", - "description": "This is a label" - } } ], "time": null @@ -32663,8 +31468,8 @@ "previous": null, "results": [ { - "created_at": "2024-12-11T16:45:38.097351+01:00", - "updated_at": "2024-12-11T16:45:38.353381+01:00", + "created_at": "2026-08-31T14:12:30.590608+02:00", + "updated_at": "2026-08-31T14:12:30.934220+02:00", "name": "mylabel", "description": "This is a label" } @@ -32678,18 +31483,6 @@ "description": "This is the new description" }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/labels/1", - "data": {}, - "status": 200, - "response": { - "created_at": "2024-12-11T16:45:38.097351+01:00", - "updated_at": "2024-12-11T16:45:38.486049+01:00", - "name": "mylabel", - "description": "This is the new description" - } } ], "time": null @@ -32832,7 +31625,7 @@ "response": { "hosts": [], "atoms": [], - "updated_at": "2024-12-11T16:45:38.788140+01:00", + "updated_at": "2026-08-31T14:12:31.314480+02:00", "description": "This is the description", "name": "myrole", "labels": [] @@ -32849,8 +31642,8 @@ "previous": null, "results": [ { - "created_at": "2024-12-11T16:45:38.691439+01:00", - "updated_at": "2024-12-11T16:45:38.691461+01:00", + "created_at": "2026-08-31T14:12:31.192358+02:00", + "updated_at": "2026-08-31T14:12:31.192430+02:00", "name": "postit", "description": "A label again" } @@ -32866,29 +31659,6 @@ ] }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/hostpolicy/roles/?id=2", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "hosts": [], - "atoms": [], - "updated_at": "2024-12-11T16:45:39.026164+01:00", - "description": "This is the description", - "name": "myrole", - "labels": [ - 2 - ] - } - ] - } } ], "time": null @@ -33090,27 +31860,6 @@ "labels": [] }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/hostpolicy/roles/?id=2", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "hosts": [], - "atoms": [], - "updated_at": "2025-08-26T11:57:09.516781+02:00", - "description": "This is the description", - "name": "myrole", - "labels": [] - } - ] - } } ], "time": null @@ -33218,8 +31967,8 @@ "previous": null, "results": [ { - "created_at": "2024-12-11T16:45:39.885936+01:00", - "updated_at": "2024-12-11T16:45:39.885950+01:00", + "created_at": "2026-08-31T14:12:32.586541+02:00", + "updated_at": "2026-08-31T14:12:32.586619+02:00", "group": "mygroup", "range": "192.168.0.0/16", "regex": ".*", @@ -33239,8 +31988,8 @@ "previous": null, "results": [ { - "created_at": "2024-12-11T16:45:38.691439+01:00", - "updated_at": "2024-12-11T16:45:38.691461+01:00", + "created_at": "2026-08-31T14:12:31.192358+02:00", + "updated_at": "2026-08-31T14:12:31.192430+02:00", "name": "postit", "description": "A label again" } @@ -33256,22 +32005,6 @@ ] }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/permissions/netgroupregex/2", - "data": {}, - "status": 200, - "response": { - "created_at": "2024-12-11T16:45:39.885936+01:00", - "updated_at": "2024-12-11T16:45:40.035819+01:00", - "group": "mygroup", - "range": "192.168.0.0/16", - "regex": ".*", - "labels": [ - 2 - ] - } } ], "time": null @@ -33432,8 +32165,8 @@ "previous": null, "results": [ { - "created_at": "2025-08-26T11:57:09.653456+02:00", - "updated_at": "2025-08-26T11:57:09.783797+02:00", + "created_at": "2026-08-31T14:12:32.586541+02:00", + "updated_at": "2026-08-31T14:12:32.785227+02:00", "group": "mygroup", "range": "192.168.0.0/16", "regex": ".*", @@ -33451,20 +32184,6 @@ "labels": [] }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/permissions/netgroupregex/2", - "data": {}, - "status": 200, - "response": { - "created_at": "2025-08-26T11:57:09.653456+02:00", - "updated_at": "2025-08-26T11:57:10.070646+02:00", - "group": "mygroup", - "range": "192.168.0.0/16", - "regex": ".*", - "labels": [] - } } ], "time": null @@ -34245,8 +32964,8 @@ "excluded_ranges": [], "policy": null, "communities": [], - "created_at": "2025-11-21T13:44:13.773697+01:00", - "updated_at": "2025-11-21T13:44:13.773714+01:00", + "created_at": "2026-08-31T14:12:33.845672+02:00", + "updated_at": "2026-08-31T14:12:33.845738+02:00", "network": "10.0.2.0/28", "description": "TinyNet", "vlan": null, @@ -34265,51 +32984,6 @@ "policy": 1 }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/networks/?id=10", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "excluded_ranges": [], - "policy": { - "name": "securepolicy", - "description": "Secure policy for a network", - "attributes": [ - { - "name": "foo", - "value": true - }, - { - "name": "bar", - "value": true - } - ], - "community_template_pattern": null, - "created_at": "2025-11-21T13:44:14.236126+01:00", - "updated_at": "2025-11-21T13:44:14.236140+01:00" - }, - "communities": [], - "created_at": "2025-11-21T13:44:13.773697+01:00", - "updated_at": "2025-11-21T13:44:14.848395+01:00", - "network": "10.0.2.0/28", - "description": "TinyNet", - "vlan": null, - "dns_delegated": false, - "category": "", - "location": "", - "frozen": false, - "reserved": 3, - "max_communities": null - } - ] - } } ], "time": null @@ -34412,47 +33086,6 @@ "policy": 2 }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/networks/?id=10", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "excluded_ranges": [], - "policy": { - "name": "autoconfigure", - "description": "Automatic host configuration", - "attributes": [ - { - "name": "baz", - "value": true - } - ], - "community_template_pattern": null, - "created_at": "2025-11-21T13:44:14.360332+01:00", - "updated_at": "2025-11-21T13:44:14.360345+01:00" - }, - "communities": [], - "created_at": "2025-11-21T13:44:13.773697+01:00", - "updated_at": "2025-11-21T13:44:14.996487+01:00", - "network": "10.0.2.0/28", - "description": "TinyNet", - "vlan": null, - "dns_delegated": false, - "category": "", - "location": "", - "frozen": false, - "reserved": 3, - "max_communities": null - } - ] - } } ], "time": null @@ -34486,12 +33119,12 @@ } ], "community_template_pattern": null, - "created_at": "2025-11-21T15:44:44.106316+01:00", - "updated_at": "2025-11-21T15:44:44.106327+01:00" + "created_at": "2026-08-31T14:12:34.894642+02:00", + "updated_at": "2026-08-31T14:12:34.894705+02:00" }, "communities": [], - "created_at": "2025-11-21T15:44:43.663527+01:00", - "updated_at": "2025-11-21T15:44:44.615350+01:00", + "created_at": "2026-08-31T14:12:33.845672+02:00", + "updated_at": "2026-08-31T14:12:35.986836+02:00", "network": "10.0.2.0/28", "description": "TinyNet", "vlan": null, @@ -34510,47 +33143,6 @@ "max_communities": 5 }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/networks/?id=10", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "excluded_ranges": [], - "policy": { - "name": "autoconfigure", - "description": "Automatic host configuration", - "attributes": [ - { - "name": "baz", - "value": true - } - ], - "community_template_pattern": null, - "created_at": "2025-11-21T15:44:44.106316+01:00", - "updated_at": "2025-11-21T15:44:44.106327+01:00" - }, - "communities": [], - "created_at": "2025-11-21T15:44:43.663527+01:00", - "updated_at": "2025-11-21T15:44:44.744399+01:00", - "network": "10.0.2.0/28", - "description": "TinyNet", - "vlan": null, - "dns_delegated": false, - "category": "", - "location": "", - "frozen": false, - "reserved": 3, - "max_communities": 5 - } - ] - } } ], "time": null @@ -34669,47 +33261,6 @@ "max_communities": null }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/networks/?id=10", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "excluded_ranges": [], - "policy": { - "name": "autoconfigure", - "description": "Automatic host configuration", - "attributes": [ - { - "name": "baz", - "value": true - } - ], - "community_template_pattern": null, - "created_at": "2025-11-21T15:44:44.106316+01:00", - "updated_at": "2025-11-21T15:44:44.106327+01:00" - }, - "communities": [], - "created_at": "2025-11-21T15:44:43.663527+01:00", - "updated_at": "2025-11-21T15:44:44.911307+01:00", - "network": "10.0.2.0/28", - "description": "TinyNet", - "vlan": null, - "dns_delegated": false, - "category": "", - "location": "", - "frozen": false, - "reserved": 3, - "max_communities": null - } - ] - } } ], "time": null @@ -35118,8 +33669,8 @@ } ], "community_template_pattern": null, - "created_at": "2025-11-21T13:44:14.236126+01:00", - "updated_at": "2025-11-21T13:44:14.236140+01:00" + "created_at": "2026-08-31T14:12:34.539344+02:00", + "updated_at": "2026-08-31T14:12:34.539441+02:00" } ] } @@ -35131,51 +33682,6 @@ "policy": 1 }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/networks/?id=10", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "excluded_ranges": [], - "policy": { - "name": "securepolicy", - "description": "Secure policy for a network", - "attributes": [ - { - "name": "foo", - "value": true - }, - { - "name": "bar", - "value": true - } - ], - "community_template_pattern": null, - "created_at": "2025-11-21T13:44:14.236126+01:00", - "updated_at": "2025-11-21T13:44:14.236140+01:00" - }, - "communities": [], - "created_at": "2025-11-21T13:44:13.773697+01:00", - "updated_at": "2025-11-21T13:44:15.596661+01:00", - "network": "10.0.2.0/28", - "description": "TinyNet", - "vlan": null, - "dns_delegated": false, - "category": "", - "location": "", - "frozen": false, - "reserved": 3, - "max_communities": null - } - ] - } } ], "time": null @@ -35216,8 +33722,8 @@ } ], "community_template_pattern": null, - "created_at": "2025-11-21T13:44:14.236126+01:00", - "updated_at": "2025-11-21T13:44:14.236140+01:00" + "created_at": "2026-08-31T14:12:34.539344+02:00", + "updated_at": "2026-08-31T14:12:34.539441+02:00" } ] } @@ -35243,31 +33749,8 @@ } ], "community_template_pattern": null, - "created_at": "2025-11-21T13:44:14.236126+01:00", - "updated_at": "2025-11-21T13:44:15.692529+01:00" - } - }, - { - "method": "GET", - "url": "/api/v1/networkpolicies/1", - "data": {}, - "status": 200, - "response": { - "name": "insecurepolicy", - "description": "Secure policy for a network", - "attributes": [ - { - "name": "foo", - "value": true - }, - { - "name": "bar", - "value": true - } - ], - "community_template_pattern": null, - "created_at": "2025-11-21T13:44:14.236126+01:00", - "updated_at": "2025-11-21T13:44:15.692529+01:00" + "created_at": "2026-08-31T14:12:34.539344+02:00", + "updated_at": "2026-08-31T14:12:37.585935+02:00" } } ], @@ -35531,8 +34014,8 @@ } ], "community_template_pattern": null, - "created_at": "2025-11-21T13:44:14.236126+01:00", - "updated_at": "2025-11-21T13:44:15.692529+01:00" + "created_at": "2026-08-31T14:12:34.539344+02:00", + "updated_at": "2026-08-31T14:12:37.585935+02:00" } ] } @@ -35558,31 +34041,8 @@ } ], "community_template_pattern": null, - "created_at": "2025-11-21T13:44:14.236126+01:00", - "updated_at": "2025-11-21T13:44:15.970916+01:00" - } - }, - { - "method": "GET", - "url": "/api/v1/networkpolicies/1", - "data": {}, - "status": 200, - "response": { - "name": "insecurepolicy", - "description": "Insecure policy for a network", - "attributes": [ - { - "name": "foo", - "value": true - }, - { - "name": "bar", - "value": true - } - ], - "community_template_pattern": null, - "created_at": "2025-11-21T13:44:14.236126+01:00", - "updated_at": "2025-11-21T13:44:15.970916+01:00" + "created_at": "2026-08-31T14:12:34.539344+02:00", + "updated_at": "2026-08-31T14:12:38.223017+02:00" } } ], @@ -35613,8 +34073,8 @@ { "name": "baz", "description": "Baz attribute", - "created_at": "2025-11-21T13:44:14.060022+01:00", - "updated_at": "2025-11-21T13:44:14.060043+01:00" + "created_at": "2026-08-31T14:12:34.267350+02:00", + "updated_at": "2026-08-31T14:12:34.267416+02:00" } ] } @@ -35643,8 +34103,8 @@ } ], "community_template_pattern": null, - "created_at": "2025-11-21T13:44:14.236126+01:00", - "updated_at": "2025-11-21T13:44:15.970916+01:00" + "created_at": "2026-08-31T14:12:34.539344+02:00", + "updated_at": "2026-08-31T14:12:38.223017+02:00" } ] } @@ -35687,35 +34147,8 @@ } ], "community_template_pattern": null, - "created_at": "2025-11-21T13:44:14.236126+01:00", - "updated_at": "2025-11-21T13:44:16.092590+01:00" - } - }, - { - "method": "GET", - "url": "/api/v1/networkpolicies/1", - "data": {}, - "status": 200, - "response": { - "name": "insecurepolicy", - "description": "Insecure policy for a network", - "attributes": [ - { - "name": "foo", - "value": true - }, - { - "name": "bar", - "value": true - }, - { - "name": "baz", - "value": true - } - ], - "community_template_pattern": null, - "created_at": "2025-11-21T13:44:14.236126+01:00", - "updated_at": "2025-11-21T13:44:16.092590+01:00" + "created_at": "2026-08-31T14:12:34.539344+02:00", + "updated_at": "2026-08-31T14:12:38.439195+02:00" } } ], @@ -35746,8 +34179,8 @@ { "name": "baz", "description": "Baz attribute", - "created_at": "2025-03-21T16:15:43.402037+01:00", - "updated_at": "2025-03-21T16:15:43.402047+01:00" + "created_at": "2026-08-31T14:12:34.267350+02:00", + "updated_at": "2026-08-31T14:12:34.267416+02:00" } ] } @@ -35762,20 +34195,8 @@ "response": { "name": "baz", "description": "Baz attribute (new)", - "created_at": "2025-03-21T16:15:43.402037+01:00", - "updated_at": "2025-03-21T16:15:45.059943+01:00" - } - }, - { - "method": "GET", - "url": "/api/v1/networkpolicyattributes/4", - "data": {}, - "status": 200, - "response": { - "name": "baz", - "description": "Baz attribute (new)", - "created_at": "2025-03-21T16:15:43.402037+01:00", - "updated_at": "2025-03-21T16:15:45.059943+01:00" + "created_at": "2026-08-31T14:12:34.267350+02:00", + "updated_at": "2026-08-31T14:12:38.694848+02:00" } } ], @@ -35861,8 +34282,8 @@ { "name": "foo", "description": "Foo attribute", - "created_at": "2025-11-21T13:44:13.861054+01:00", - "updated_at": "2025-11-21T13:44:13.861067+01:00" + "created_at": "2026-08-31T14:12:33.961093+02:00", + "updated_at": "2026-08-31T14:12:33.961151+02:00" } ] } @@ -35895,8 +34316,8 @@ } ], "community_template_pattern": null, - "created_at": "2025-11-21T13:44:14.236126+01:00", - "updated_at": "2025-11-21T13:44:16.092590+01:00" + "created_at": "2026-08-31T14:12:34.539344+02:00", + "updated_at": "2026-08-31T14:12:38.439195+02:00" } ] } @@ -35931,31 +34352,8 @@ } ], "community_template_pattern": null, - "created_at": "2025-11-21T13:44:14.236126+01:00", - "updated_at": "2025-11-21T13:44:16.319554+01:00" - } - }, - { - "method": "GET", - "url": "/api/v1/networkpolicies/1", - "data": {}, - "status": 200, - "response": { - "name": "insecurepolicy", - "description": "Insecure policy for a network", - "attributes": [ - { - "name": "bar", - "value": true - }, - { - "name": "baz", - "value": true - } - ], - "community_template_pattern": null, - "created_at": "2025-11-21T13:44:14.236126+01:00", - "updated_at": "2025-11-21T13:44:16.319554+01:00" + "created_at": "2026-08-31T14:12:34.539344+02:00", + "updated_at": "2026-08-31T14:12:39.028206+02:00" } } ], @@ -36162,8 +34560,8 @@ " 10.0.2.4 11:22:33:aa:bb:cc ", "TTL: (Default)", "TXT: v=spf1 -all", - "Created: Wed Aug 19 16:44:25 2026", - "Updated: Wed Aug 19 16:44:25 2026" + "Created: Mon Aug 31 14:12:39 2026", + "Updated: Mon Aug 31 14:12:39 2026" ], "api_requests": [ { @@ -36219,18 +34617,18 @@ "zone": { "nameservers": [ { - "created_at": "2026-08-19T16:43:06.839615+02:00", - "updated_at": "2026-08-19T16:43:06.839685+02:00", + "created_at": "2026-08-31T14:11:20.318019+02:00", + "updated_at": "2026-08-31T14:11:20.318108+02:00", "name": "ns2.example.org", "ttl": null } ], - "created_at": "2026-08-19T16:43:06.403630+02:00", - "updated_at": "2026-08-19T16:44:15.266055+02:00", + "created_at": "2026-08-31T14:11:19.909982+02:00", + "updated_at": "2026-08-31T14:12:30.210958+02:00", "updated": true, "primary_ns": "ns2.example.org", "email": "hostperson@example.org", - "serialno_updated_at": "2026-08-19T16:43:07.425633+02:00", + "serialno_updated_at": "2026-08-31T14:11:20.436026+02:00", "refresh": 360, "retry": 1800, "expire": 2400, @@ -36257,12 +34655,12 @@ } ], "community_template_pattern": null, - "created_at": "2026-08-19T16:44:19.655370+02:00", - "updated_at": "2026-08-19T16:44:24.605034+02:00" + "created_at": "2026-08-31T14:12:34.539344+02:00", + "updated_at": "2026-08-31T14:12:39.028206+02:00" }, "communities": [], - "created_at": "2026-08-19T16:44:18.897209+02:00", - "updated_at": "2026-08-19T16:44:22.870668+02:00", + "created_at": "2026-08-31T14:12:33.845672+02:00", + "updated_at": "2026-08-31T14:12:37.424313+02:00", "network": "10.0.2.0/28", "description": "TinyNet", "vlan": null, @@ -36289,8 +34687,8 @@ "ipaddresses": [ { "macaddress": "", - "created_at": "2026-08-19T16:44:25.624330+02:00", - "updated_at": "2026-08-19T16:44:25.624382+02:00", + "created_at": "2026-08-31T14:12:39.992896+02:00", + "updated_at": "2026-08-31T14:12:39.992950+02:00", "ipaddress": "10.0.2.4", "host": 30 } @@ -36299,8 +34697,8 @@ "mxs": [], "txts": [ { - "created_at": "2026-08-19T16:44:25.498639+02:00", - "updated_at": "2026-08-19T16:44:25.498691+02:00", + "created_at": "2026-08-31T14:12:39.862360+02:00", + "updated_at": "2026-08-31T14:12:39.862412+02:00", "txt": "v=spf1 -all", "host": 30 } @@ -36318,12 +34716,12 @@ "contacts": [ { "email": "tinyhost@example.org", - "created_at": "2026-08-19T16:44:25.517553+02:00", - "updated_at": "2026-08-19T16:44:25.517610+02:00" + "created_at": "2026-08-31T14:12:39.882022+02:00", + "updated_at": "2026-08-31T14:12:39.882083+02:00" } ], - "created_at": "2026-08-19T16:44:25.486210+02:00", - "updated_at": "2026-08-19T16:44:25.486264+02:00", + "created_at": "2026-08-31T14:12:39.848777+02:00", + "updated_at": "2026-08-31T14:12:39.848831+02:00", "name": "tinyhost.example.org", "ttl": null, "comment": "", @@ -36339,19 +34737,6 @@ }, "status": 204 }, - { - "method": "GET", - "url": "/api/v1/ipaddresses/33", - "data": {}, - "status": 200, - "response": { - "macaddress": "11:22:33:aa:bb:cc", - "created_at": "2026-08-19T16:44:25.624330+02:00", - "updated_at": "2026-08-19T16:44:25.830074+02:00", - "ipaddress": "10.0.2.4", - "host": 30 - } - }, { "method": "GET", "url": "/api/v1/hosts/tinyhost.example.org", @@ -36361,8 +34746,8 @@ "ipaddresses": [ { "macaddress": "11:22:33:aa:bb:cc", - "created_at": "2026-08-19T16:44:25.624330+02:00", - "updated_at": "2026-08-19T16:44:25.830074+02:00", + "created_at": "2026-08-31T14:12:39.992896+02:00", + "updated_at": "2026-08-31T14:12:40.187084+02:00", "ipaddress": "10.0.2.4", "host": 30 } @@ -36371,8 +34756,8 @@ "mxs": [], "txts": [ { - "created_at": "2026-08-19T16:44:25.498639+02:00", - "updated_at": "2026-08-19T16:44:25.498691+02:00", + "created_at": "2026-08-31T14:12:39.862360+02:00", + "updated_at": "2026-08-31T14:12:39.862412+02:00", "txt": "v=spf1 -all", "host": 30 } @@ -36390,12 +34775,12 @@ "contacts": [ { "email": "tinyhost@example.org", - "created_at": "2026-08-19T16:44:25.517553+02:00", - "updated_at": "2026-08-19T16:44:25.517610+02:00" + "created_at": "2026-08-31T14:12:39.882022+02:00", + "updated_at": "2026-08-31T14:12:39.882083+02:00" } ], - "created_at": "2026-08-19T16:44:25.486210+02:00", - "updated_at": "2026-08-19T16:44:25.486264+02:00", + "created_at": "2026-08-31T14:12:39.848777+02:00", + "updated_at": "2026-08-31T14:12:39.848831+02:00", "name": "tinyhost.example.org", "ttl": null, "comment": "", @@ -36420,12 +34805,12 @@ } ], "community_template_pattern": null, - "created_at": "2026-08-19T16:44:19.655370+02:00", - "updated_at": "2026-08-19T16:44:24.605034+02:00" + "created_at": "2026-08-31T14:12:34.539344+02:00", + "updated_at": "2026-08-31T14:12:39.028206+02:00" }, "communities": [], - "created_at": "2026-08-19T16:44:18.897209+02:00", - "updated_at": "2026-08-19T16:44:22.870668+02:00", + "created_at": "2026-08-31T14:12:33.845672+02:00", + "updated_at": "2026-08-31T14:12:37.424313+02:00", "network": "10.0.2.0/28", "description": "TinyNet", "vlan": null, @@ -37393,8 +35778,8 @@ "description": "Custom community mapping template pattern", "attributes": [], "community_template_pattern": "custom", - "created_at": "2026-08-19T16:44:27.521332+02:00", - "updated_at": "2026-08-19T16:44:27.521395+02:00" + "created_at": "2026-08-31T14:12:41.994850+02:00", + "updated_at": "2026-08-31T14:12:41.994913+02:00" } ] } @@ -37421,8 +35806,8 @@ } ], "community_template_pattern": null, - "created_at": "2026-08-19T16:44:19.655370+02:00", - "updated_at": "2026-08-19T16:44:24.605034+02:00" + "created_at": "2026-08-31T14:12:34.539344+02:00", + "updated_at": "2026-08-31T14:12:39.028206+02:00" }, "communities": [ { @@ -37431,8 +35816,8 @@ "network": 10, "hosts": [], "global_name": "community01", - "created_at": "2026-08-19T16:44:26.134500+02:00", - "updated_at": "2026-08-19T16:44:26.134561+02:00" + "created_at": "2026-08-31T14:12:40.493245+02:00", + "updated_at": "2026-08-31T14:12:40.493313+02:00" }, { "name": "lab", @@ -37442,12 +35827,12 @@ "tinyhost.example.org" ], "global_name": "community02", - "created_at": "2026-08-19T16:44:26.273535+02:00", - "updated_at": "2026-08-19T16:44:26.273596+02:00" + "created_at": "2026-08-31T14:12:40.731893+02:00", + "updated_at": "2026-08-31T14:12:40.731965+02:00" } ], - "created_at": "2026-08-19T16:44:18.897209+02:00", - "updated_at": "2026-08-19T16:44:22.870668+02:00", + "created_at": "2026-08-31T14:12:33.845672+02:00", + "updated_at": "2026-08-31T14:12:37.424313+02:00", "network": "10.0.2.0/28", "description": "TinyNet", "vlan": null, @@ -37474,8 +35859,8 @@ "excluded_ranges": [], "policy": null, "communities": [], - "created_at": "2026-08-19T16:44:27.782030+02:00", - "updated_at": "2026-08-19T16:44:27.782095+02:00", + "created_at": "2026-08-31T14:12:42.253191+02:00", + "updated_at": "2026-08-31T14:12:42.253250+02:00", "network": "10.0.3.0/24", "description": "CustomPatternNet", "vlan": null, @@ -37494,42 +35879,6 @@ "policy": 4 }, "status": 204 - }, - { - "method": "GET", - "url": "/api/v1/networks/?id=11", - "data": {}, - "status": 200, - "response": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "excluded_ranges": [], - "policy": { - "name": "custompattern", - "description": "Custom community mapping template pattern", - "attributes": [], - "community_template_pattern": "custom", - "created_at": "2026-08-19T16:44:27.521332+02:00", - "updated_at": "2026-08-19T16:44:27.521395+02:00" - }, - "communities": [], - "created_at": "2026-08-19T16:44:27.782030+02:00", - "updated_at": "2026-08-19T16:44:27.849326+02:00", - "network": "10.0.3.0/24", - "description": "CustomPatternNet", - "vlan": null, - "dns_delegated": false, - "category": "", - "location": "", - "frozen": false, - "reserved": 3, - "max_communities": null - } - ] - } } ], "time": null @@ -37760,8 +36109,8 @@ "description": "Custom community mapping template pattern", "attributes": [], "community_template_pattern": "custom", - "created_at": "2025-11-21T13:44:18.377579+01:00", - "updated_at": "2025-11-21T13:44:18.377593+01:00" + "created_at": "2026-08-31T14:12:41.994850+02:00", + "updated_at": "2026-08-31T14:12:41.994913+02:00" } ] } @@ -37778,22 +36127,8 @@ "description": "Custom community mapping template pattern", "attributes": [], "community_template_pattern": "newpattern", - "created_at": "2025-11-21T13:44:18.377579+01:00", - "updated_at": "2025-11-21T13:44:19.046667+01:00" - } - }, - { - "method": "GET", - "url": "/api/v1/networkpolicies/4", - "data": {}, - "status": 200, - "response": { - "name": "custompattern", - "description": "Custom community mapping template pattern", - "attributes": [], - "community_template_pattern": "newpattern", - "created_at": "2025-11-21T13:44:18.377579+01:00", - "updated_at": "2025-11-21T13:44:19.046667+01:00" + "created_at": "2026-08-31T14:12:41.994850+02:00", + "updated_at": "2026-08-31T14:12:42.901231+02:00" } } ], @@ -37885,8 +36220,8 @@ "description": "Custom community mapping template pattern", "attributes": [], "community_template_pattern": "newpattern", - "created_at": "2025-11-21T13:44:18.377579+01:00", - "updated_at": "2025-11-21T13:44:19.046667+01:00" + "created_at": "2026-08-31T14:12:41.994850+02:00", + "updated_at": "2026-08-31T14:12:42.901231+02:00" } ] } @@ -37903,22 +36238,8 @@ "description": "Custom community mapping template pattern", "attributes": [], "community_template_pattern": null, - "created_at": "2025-11-21T13:44:18.377579+01:00", - "updated_at": "2025-11-21T13:44:19.276781+01:00" - } - }, - { - "method": "GET", - "url": "/api/v1/networkpolicies/4", - "data": {}, - "status": 200, - "response": { - "name": "custompattern", - "description": "Custom community mapping template pattern", - "attributes": [], - "community_template_pattern": null, - "created_at": "2025-11-21T13:44:18.377579+01:00", - "updated_at": "2025-11-21T13:44:19.276781+01:00" + "created_at": "2026-08-31T14:12:41.994850+02:00", + "updated_at": "2026-08-31T14:12:43.108410+02:00" } } ], @@ -38874,8 +37195,8 @@ " 10.0.0.4 11:22:34:aa:bb:cd ", "TTL: (Default)", "TXT: v=spf1 -all", - "Created: Wed Aug 19 16:44:31 2026", - "Updated: Wed Aug 19 16:44:31 2026" + "Created: Mon Aug 31 14:12:45 2026", + "Updated: Mon Aug 31 14:12:45 2026" ], "api_requests": [ { @@ -38931,18 +37252,18 @@ "zone": { "nameservers": [ { - "created_at": "2026-08-19T16:43:06.839615+02:00", - "updated_at": "2026-08-19T16:43:06.839685+02:00", + "created_at": "2026-08-31T14:11:20.318019+02:00", + "updated_at": "2026-08-31T14:11:20.318108+02:00", "name": "ns2.example.org", "ttl": null } ], - "created_at": "2026-08-19T16:43:06.403630+02:00", - "updated_at": "2026-08-19T16:44:30.182775+02:00", + "created_at": "2026-08-31T14:11:19.909982+02:00", + "updated_at": "2026-08-31T14:12:44.817863+02:00", "updated": true, "primary_ns": "ns2.example.org", "email": "hostperson@example.org", - "serialno_updated_at": "2026-08-19T16:43:07.425633+02:00", + "serialno_updated_at": "2026-08-31T14:11:20.436026+02:00", "refresh": 360, "retry": 1800, "expire": 2400, @@ -38961,8 +37282,8 @@ "excluded_ranges": [], "policy": null, "communities": [], - "created_at": "2026-08-19T16:44:30.735853+02:00", - "updated_at": "2026-08-19T16:44:30.735918+02:00", + "created_at": "2026-08-31T14:12:45.392850+02:00", + "updated_at": "2026-08-31T14:12:45.392922+02:00", "network": "10.0.0.0/24", "description": "MediumNet", "vlan": null, @@ -38989,8 +37310,8 @@ "ipaddresses": [ { "macaddress": "", - "created_at": "2026-08-19T16:44:31.176680+02:00", - "updated_at": "2026-08-19T16:44:31.176735+02:00", + "created_at": "2026-08-31T14:12:45.875128+02:00", + "updated_at": "2026-08-31T14:12:45.875184+02:00", "ipaddress": "10.0.0.4", "host": 32 } @@ -38999,8 +37320,8 @@ "mxs": [], "txts": [ { - "created_at": "2026-08-19T16:44:31.037419+02:00", - "updated_at": "2026-08-19T16:44:31.037482+02:00", + "created_at": "2026-08-31T14:12:45.734619+02:00", + "updated_at": "2026-08-31T14:12:45.734670+02:00", "txt": "v=spf1 -all", "host": 32 } @@ -39018,12 +37339,12 @@ "contacts": [ { "email": "mediumhost@example.org", - "created_at": "2026-08-19T16:44:31.059337+02:00", - "updated_at": "2026-08-19T16:44:31.059399+02:00" + "created_at": "2026-08-31T14:12:45.756883+02:00", + "updated_at": "2026-08-31T14:12:45.756953+02:00" } ], - "created_at": "2026-08-19T16:44:31.024343+02:00", - "updated_at": "2026-08-19T16:44:31.024405+02:00", + "created_at": "2026-08-31T14:12:45.720593+02:00", + "updated_at": "2026-08-31T14:12:45.720649+02:00", "name": "mediumhost.example.org", "ttl": null, "comment": "", @@ -39039,19 +37360,6 @@ }, "status": 204 }, - { - "method": "GET", - "url": "/api/v1/ipaddresses/35", - "data": {}, - "status": 200, - "response": { - "macaddress": "11:22:34:aa:bb:cd", - "created_at": "2026-08-19T16:44:31.176680+02:00", - "updated_at": "2026-08-19T16:44:31.396059+02:00", - "ipaddress": "10.0.0.4", - "host": 32 - } - }, { "method": "GET", "url": "/api/v1/hosts/mediumhost.example.org", @@ -39061,8 +37369,8 @@ "ipaddresses": [ { "macaddress": "11:22:34:aa:bb:cd", - "created_at": "2026-08-19T16:44:31.176680+02:00", - "updated_at": "2026-08-19T16:44:31.396059+02:00", + "created_at": "2026-08-31T14:12:45.875128+02:00", + "updated_at": "2026-08-31T14:12:46.080123+02:00", "ipaddress": "10.0.0.4", "host": 32 } @@ -39071,8 +37379,8 @@ "mxs": [], "txts": [ { - "created_at": "2026-08-19T16:44:31.037419+02:00", - "updated_at": "2026-08-19T16:44:31.037482+02:00", + "created_at": "2026-08-31T14:12:45.734619+02:00", + "updated_at": "2026-08-31T14:12:45.734670+02:00", "txt": "v=spf1 -all", "host": 32 } @@ -39090,12 +37398,12 @@ "contacts": [ { "email": "mediumhost@example.org", - "created_at": "2026-08-19T16:44:31.059337+02:00", - "updated_at": "2026-08-19T16:44:31.059399+02:00" + "created_at": "2026-08-31T14:12:45.756883+02:00", + "updated_at": "2026-08-31T14:12:45.756953+02:00" } ], - "created_at": "2026-08-19T16:44:31.024343+02:00", - "updated_at": "2026-08-19T16:44:31.024405+02:00", + "created_at": "2026-08-31T14:12:45.720593+02:00", + "updated_at": "2026-08-31T14:12:45.720649+02:00", "name": "mediumhost.example.org", "ttl": null, "comment": "", @@ -39112,8 +37420,8 @@ "excluded_ranges": [], "policy": null, "communities": [], - "created_at": "2026-08-19T16:44:30.735853+02:00", - "updated_at": "2026-08-19T16:44:30.735918+02:00", + "created_at": "2026-08-31T14:12:45.392850+02:00", + "updated_at": "2026-08-31T14:12:45.392922+02:00", "network": "10.0.0.0/24", "description": "MediumNet", "vlan": null, diff --git a/mreg_cli/cli.py b/mreg_cli/cli.py index 89975d7d..871eb7c0 100644 --- a/mreg_cli/cli.py +++ b/mreg_cli/cli.py @@ -289,9 +289,9 @@ def record_responses(self) -> None: """Record API responses for the last executed command.""" output = OutputManager() client = get_client() - for response in client.get_client_history(): + for response in client.requests: output.recording_request(response) - client.clear_client_history() + client.requests.clear() def process_command_line(self, line: str, *, interactive: bool = True) -> None: """Process a line containing a command.""" diff --git a/mreg_cli/commands/host_submodules/cname.py b/mreg_cli/commands/host_submodules/cname.py index 0cd5aedc..9eee360a 100644 --- a/mreg_cli/commands/host_submodules/cname.py +++ b/mreg_cli/commands/host_submodules/cname.py @@ -7,7 +7,6 @@ from mreg_cli.client import get_client from mreg_cli.commands.host import registry as command_registry from mreg_cli.exceptions import ( - CreateError, EntityAlreadyExists, EntityNotFound, EntityOwnershipMismatch, @@ -142,11 +141,8 @@ def cname_replace(args: argparse.Namespace) -> None: if not old_host: raise EntityNotFound(f"Could not find the host for the CNAME {cname}.") - updated_cname = client.cname.update(cname_obj, host=host) - if updated_cname: - OutputManager().add_ok(f"Moved CNAME alias {cname}: {old_host.name} -> {host.name}.") - else: - raise PatchError(f"Failed to move CNAME alias {cname}.") + client.cname.update(cname_obj, host=host) + OutputManager().add_ok(f"Moved CNAME alias {cname}: {old_host.name} -> {host.name}.") @command_registry.register_command( diff --git a/mreg_cli/commands/host_submodules/core.py b/mreg_cli/commands/host_submodules/core.py index f03ee8f6..f5362452 100644 --- a/mreg_cli/commands/host_submodules/core.py +++ b/mreg_cli/commands/host_submodules/core.py @@ -34,7 +34,6 @@ from mreg_cli.commands.host import registry as command_registry from mreg_cli.exceptions import ( APIError, - CreateError, DeleteError, EntityAlreadyExists, EntityNotFound, @@ -48,6 +47,7 @@ from mreg_cli.output.history import output_host_history from mreg_cli.outputmanager import OutputManager from mreg_cli.types import Flag, QueryParams +from mreg_cli.utilities.api import strict_limit from mreg_cli.utilities.resolution import resolve_host from mreg_cli.utilities.shared import convert_wildcard_to_regex @@ -577,7 +577,9 @@ def _add_param(param: str, value: str) -> None: if value: _add_param(param, value) - hosts = client.host.list(limit=500, **params) + with strict_limit(client): + hosts = client.host.list(limit=500, **params) + output_hostlist(hosts) diff --git a/mreg_cli/commands/host_submodules/rr.py b/mreg_cli/commands/host_submodules/rr.py index 3bbf0a7e..bfa12220 100644 --- a/mreg_cli/commands/host_submodules/rr.py +++ b/mreg_cli/commands/host_submodules/rr.py @@ -49,7 +49,6 @@ from mreg_cli.client import get_client from mreg_cli.commands.host import registry as command_registry from mreg_cli.exceptions import ( - CreateError, DeleteError, EntityAlreadyExists, EntityNotFound, @@ -934,13 +933,16 @@ def ttl_set(args: argparse.Namespace) -> None: if target_host is None and target_srv is None: raise EntityNotFound(f"No host or SRV record found for {name}") + # NOTE: do we really need to confirm that we set the TTL by refreshing? if target_host is not None: - result = client.host.update(target_host, ttl=ttl_value) + client.host.update(target_host, ttl=ttl_value) + result = client.host.refresh(target_host) new_ttl = result.ttl if result.ttl is not None else ttl OutputManager().add_ok(f"Set TTL for {target_host} to {new_ttl}.") else: assert target_srv is not None - result = client.srv.update(target_srv, ttl=ttl_value) + client.srv.update(target_srv, ttl=ttl_value) + result = client.srv.refresh(target_srv) new_ttl = result.ttl if result.ttl is not None else ttl OutputManager().add_ok(f"Set TTL for {target_srv} to {new_ttl}.") diff --git a/mreg_cli/commands/network.py b/mreg_cli/commands/network.py index f02ca2d5..20234b8d 100644 --- a/mreg_cli/commands/network.py +++ b/mreg_cli/commands/network.py @@ -40,6 +40,7 @@ from mreg_cli.output.network import output_network_policy_attribute from mreg_cli.outputmanager import OutputManager from mreg_cli.types import Flag, QueryParams +from mreg_cli.utilities.api import strict_limit from mreg_cli.utilities.resolution import resolve_host, resolve_network from mreg_cli.utilities.shared import convert_wildcard_to_regex, string_to_int from mreg_cli.utilities.validators import is_valid_category_tag, is_valid_location_tag @@ -287,7 +288,8 @@ def find(args: argparse.Namespace) -> None: if not params: raise InputFailure("Need at least one search criteria") - networks = client.network.list(limit=500, **params) + with strict_limit(client): + networks = client.network.list(limit=500, **params) if not networks: raise EntityNotFound("No networks matching the query were found.") diff --git a/mreg_cli/exceptions.py b/mreg_cli/exceptions.py index 65a0655a..8d43adbb 100644 --- a/mreg_cli/exceptions.py +++ b/mreg_cli/exceptions.py @@ -135,6 +135,10 @@ class LoginFailedError(CliError): """Error class for login failure.""" +class TooManyResults(CliWarning): + """API returned too many results.""" + + # FIXME: Inconsistent handling of HTTP errors in the original CLI implementation # DELETE errors were considered errors, while other HTTP errors were # considered warnings. They should all be considered errors. diff --git a/mreg_cli/outputmanager.py b/mreg_cli/outputmanager.py index 748c6ca5..c60ac2c7 100644 --- a/mreg_cli/outputmanager.py +++ b/mreg_cli/outputmanager.py @@ -15,17 +15,19 @@ from collections.abc import Iterable from contextlib import contextmanager from pathlib import Path -from typing import Any, Generator, Literal, overload +from typing import TYPE_CHECKING, Any, Generator, Literal, overload from urllib.parse import urlencode, urlparse import httpx -from mreg_api.client import RequestRecord from pydantic import BaseModel from mreg_cli.errorbuilder import build_error_message from mreg_cli.exceptions import CliError, FileError from mreg_cli.types import Json, JsonMapping, RecordingEntry, TimeInfo +if TYPE_CHECKING: + from mreg_api.requestlog import RequestRecord + logger = logging.getLogger(__name__) diff --git a/mreg_cli/utilities/api.py b/mreg_cli/utilities/api.py index 0a266e6f..b14650bb 100644 --- a/mreg_cli/utilities/api.py +++ b/mreg_cli/utilities/api.py @@ -8,18 +8,24 @@ import functools import logging -from typing import Callable, ParamSpec, TypeVar +from collections.abc import Generator +from contextlib import contextmanager +from typing import TYPE_CHECKING, Callable, ParamSpec, TypeVar from urllib.parse import urljoin import httpx import mreg_api +from mreg_api.events import Event, EventKind from prompt_toolkit import prompt from mreg_cli.client import get_client from mreg_cli.config import MregCliConfig -from mreg_cli.exceptions import CliError, LoginFailedError +from mreg_cli.exceptions import CliError, LoginFailedError, TooManyResults from mreg_cli.tokenfile import TokenFile +if TYPE_CHECKING: + from mreg_api import MregClient + logger = logging.getLogger(__name__) @@ -38,6 +44,25 @@ def wrapper(*args: P.args, **kwargs: P.kwargs) -> T: return wrapper +@contextmanager +def strict_limit(client: MregClient) -> Generator[None, None, None]: + """Context manager that aborts requests for a query that returns too many results. + + Adds a temporary mreg-api handler that listens for TRUNCATION events and + raises TooManyResults if such an event is received. + """ + + def fail_on_truncation(event: Event) -> None: + if event.kind == EventKind.TRUNCATION: + raise TooManyResults(f"{event.message} Refine your search.") + + client.events.subscribe(fail_on_truncation) + try: + yield + finally: + client.events.unsubscribe(fail_on_truncation) + + def try_token_or_login(user: str, url: str, fail_without_token: bool = False) -> None: """Check for a valid token or interactively log in to MREG. diff --git a/mreg_cli/utilities/resolution.py b/mreg_cli/utilities/resolution.py index c3fba49d..837976a3 100644 --- a/mreg_cli/utilities/resolution.py +++ b/mreg_cli/utilities/resolution.py @@ -61,7 +61,7 @@ def resolve_host( Resolution order: numeric id → IP → MAC → name → CNAME target. """ - from mreg_cli.outputmanager import OutputManager + from mreg_cli.outputmanager import OutputManager # noqa: PLC0415 # We got passed an integer, assume host ID if isinstance(identifier, int): @@ -145,8 +145,6 @@ def resolve_network( Replaces Network.get_by_any_means() / get_by_any_means_or_raise(). """ - from mreg_cli.exceptions import EntityNotFound as CliEntityNotFound - network: Network | None = None try: # Try as IP first @@ -161,7 +159,7 @@ def resolve_network( except Exception: pass - if network is None and identifier.isdigit(): + if network is None and identifier.isdecimal(): try: network = client.network.first(id=int(identifier), required=False) # network = client.network.get(int(identifier), required=False) diff --git a/pyproject.toml b/pyproject.toml index 6d6906c0..9f522081 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -69,6 +69,7 @@ dev = [ "setuptools-scm", "build", "pyinstaller", + "pytest-httpserver>=1.1.5", ] ci = [{ include-group = "dev" }, "tox-gh-actions"] @@ -234,5 +235,5 @@ version_file = "mreg_cli/_version.py" # Uncomment to activate git installation for local development if PyPI version # is not up to date with most recent mreg-api git main commit. -# [tool.uv.sources] -# mreg-api = { git = "https://github.com/unioslo/mreg-api", branch = "main" } +[tool.uv.sources] +mreg-api = { git = "https://github.com/unioslo/mreg-api", branch = "main" } diff --git a/tests/api/test_client.py b/tests/api/test_client.py index 64aa26bb..7cc45112 100644 --- a/tests/api/test_client.py +++ b/tests/api/test_client.py @@ -1,17 +1,26 @@ from __future__ import annotations +from typing import Any from unittest.mock import patch +import pytest from mreg_api import CacheConfig, MregClient +from mreg_api.endpoints import Endpoint +from pytest_httpserver import HTTPServer from mreg_cli.config import MregCliConfig +from mreg_cli.exceptions import TooManyResults +from mreg_cli.utilities.api import strict_limit def test_client_cache_readonly_fs_dir() -> None: """Test that client caching handles read-only filesystem gracefully (with directory arg).""" with patch("os.makedirs") as mock_makedirs: mock_makedirs.side_effect = PermissionError("Read-only directory") - client = MregClient(url="https://mreg.example.com", cache=CacheConfig(enable=True, directory="/readonly/path")) + client = MregClient( + url="https://mreg.example.com", + cache=CacheConfig(enable=True, directory="/readonly/path"), + ) assert not client.cache.is_enabled assert client.cache._cache is None # pyright: ignore[reportPrivateUsage] @@ -31,3 +40,70 @@ def test_client_cache_default_enabled() -> None: client = MregClient(url="https://mreg.example.com", cache=CacheConfig(enable=cliconf.cache)) assert client.cache.is_enabled assert client.cache._cache is not None # pyright: ignore[reportPrivateUsage + + +@pytest.mark.parametrize("paginated_response", [True, False]) +def test_client_strict_limit(httpserver: HTTPServer, paginated_response: bool) -> None: + """Test the `strict_limit` context manager.""" + client = MregClient(url=httpserver.url_for("/"), cache=False) + + resp: list[dict[str, Any]] | dict[str, Any] = [ + { + "id": 1, + "name": "host1", + "comment": "", + "ipaddresses": [], + "created_at": "2024-01-01T00:00:00Z", + "updated_at": "2024-01-01T00:00:00Z", + }, + { + "id": 2, + "name": "host2", + "comment": "", + "ipaddresses": [], + "created_at": "2024-01-01T00:00:00Z", + "updated_at": "2024-01-01T00:00:00Z", + }, + { + "id": 3, + "name": "host3", + "comment": "", + "ipaddresses": [], + "created_at": "2024-01-01T00:00:00Z", + "updated_at": "2024-01-01T00:00:00Z", + }, + { + "id": 4, + "name": "host4", + "comment": "", + "ipaddresses": [], + "created_at": "2024-01-01T00:00:00Z", + "updated_at": "2024-01-01T00:00:00Z", + }, + { + "id": 5, + "name": "host5", + "comment": "", + "ipaddresses": [], + "created_at": "2024-01-01T00:00:00Z", + "updated_at": "2024-01-01T00:00:00Z", + }, + ] + if paginated_response: + resp = { + "results": resp, + "next": None, + "previous": None, + "count": 5, + } + httpserver.expect_request(Endpoint.Hosts).respond_with_json(resp) + + # This fails + with strict_limit(client): + with pytest.raises(TooManyResults) as excinfo: + client.host.list(limit=4) + assert "Refine your search" in str(excinfo.value) + + # This succeeds (listener is removed after the context manager exits) + hosts = client.host.list(limit=4) # truncates without raising + assert len(hosts) == 4 diff --git a/uv.lock b/uv.lock index 2bc40925..02d0b2b5 100644 --- a/uv.lock +++ b/uv.lock @@ -241,6 +241,80 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl", hash = "sha256:9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a", size = 91687, upload-time = "2026-05-07T12:08:27.182Z" }, ] +[[package]] +name = "markupsafe" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/db/fefacb2136439fc8dd20e797950e749aa1f4997ed584c62cfb8ef7c2be0e/markupsafe-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad", size = 11631, upload-time = "2025-09-27T18:36:18.185Z" }, + { url = "https://files.pythonhosted.org/packages/e1/2e/5898933336b61975ce9dc04decbc0a7f2fee78c30353c5efba7f2d6ff27a/markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a", size = 12058, upload-time = "2025-09-27T18:36:19.444Z" }, + { url = "https://files.pythonhosted.org/packages/1d/09/adf2df3699d87d1d8184038df46a9c80d78c0148492323f4693df54e17bb/markupsafe-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50", size = 24287, upload-time = "2025-09-27T18:36:20.768Z" }, + { url = "https://files.pythonhosted.org/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf", size = 22940, upload-time = "2025-09-27T18:36:22.249Z" }, + { url = "https://files.pythonhosted.org/packages/19/ae/31c1be199ef767124c042c6c3e904da327a2f7f0cd63a0337e1eca2967a8/markupsafe-3.0.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f", size = 21887, upload-time = "2025-09-27T18:36:23.535Z" }, + { url = "https://files.pythonhosted.org/packages/b2/76/7edcab99d5349a4532a459e1fe64f0b0467a3365056ae550d3bcf3f79e1e/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a", size = 23692, upload-time = "2025-09-27T18:36:24.823Z" }, + { url = "https://files.pythonhosted.org/packages/a4/28/6e74cdd26d7514849143d69f0bf2399f929c37dc2b31e6829fd2045b2765/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115", size = 21471, upload-time = "2025-09-27T18:36:25.95Z" }, + { url = "https://files.pythonhosted.org/packages/62/7e/a145f36a5c2945673e590850a6f8014318d5577ed7e5920a4b3448e0865d/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a", size = 22923, upload-time = "2025-09-27T18:36:27.109Z" }, + { url = "https://files.pythonhosted.org/packages/0f/62/d9c46a7f5c9adbeeeda52f5b8d802e1094e9717705a645efc71b0913a0a8/markupsafe-3.0.3-cp311-cp311-win32.whl", hash = "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19", size = 14572, upload-time = "2025-09-27T18:36:28.045Z" }, + { url = "https://files.pythonhosted.org/packages/83/8a/4414c03d3f891739326e1783338e48fb49781cc915b2e0ee052aa490d586/markupsafe-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01", size = 15077, upload-time = "2025-09-27T18:36:29.025Z" }, + { url = "https://files.pythonhosted.org/packages/35/73/893072b42e6862f319b5207adc9ae06070f095b358655f077f69a35601f0/markupsafe-3.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c", size = 13876, upload-time = "2025-09-27T18:36:29.954Z" }, + { url = "https://files.pythonhosted.org/packages/5a/72/147da192e38635ada20e0a2e1a51cf8823d2119ce8883f7053879c2199b5/markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", size = 11615, upload-time = "2025-09-27T18:36:30.854Z" }, + { url = "https://files.pythonhosted.org/packages/9a/81/7e4e08678a1f98521201c3079f77db69fb552acd56067661f8c2f534a718/markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", size = 12020, upload-time = "2025-09-27T18:36:31.971Z" }, + { url = "https://files.pythonhosted.org/packages/1e/2c/799f4742efc39633a1b54a92eec4082e4f815314869865d876824c257c1e/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", size = 24332, upload-time = "2025-09-27T18:36:32.813Z" }, + { url = "https://files.pythonhosted.org/packages/3c/2e/8d0c2ab90a8c1d9a24f0399058ab8519a3279d1bd4289511d74e909f060e/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", size = 22947, upload-time = "2025-09-27T18:36:33.86Z" }, + { url = "https://files.pythonhosted.org/packages/2c/54/887f3092a85238093a0b2154bd629c89444f395618842e8b0c41783898ea/markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", size = 21962, upload-time = "2025-09-27T18:36:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2f/336b8c7b6f4a4d95e91119dc8521402461b74a485558d8f238a68312f11c/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", size = 23760, upload-time = "2025-09-27T18:36:36.001Z" }, + { url = "https://files.pythonhosted.org/packages/32/43/67935f2b7e4982ffb50a4d169b724d74b62a3964bc1a9a527f5ac4f1ee2b/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", size = 21529, upload-time = "2025-09-27T18:36:36.906Z" }, + { url = "https://files.pythonhosted.org/packages/89/e0/4486f11e51bbba8b0c041098859e869e304d1c261e59244baa3d295d47b7/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", size = 23015, upload-time = "2025-09-27T18:36:37.868Z" }, + { url = "https://files.pythonhosted.org/packages/2f/e1/78ee7a023dac597a5825441ebd17170785a9dab23de95d2c7508ade94e0e/markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", size = 14540, upload-time = "2025-09-27T18:36:38.761Z" }, + { url = "https://files.pythonhosted.org/packages/aa/5b/bec5aa9bbbb2c946ca2733ef9c4ca91c91b6a24580193e891b5f7dbe8e1e/markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", size = 15105, upload-time = "2025-09-27T18:36:39.701Z" }, + { url = "https://files.pythonhosted.org/packages/e5/f1/216fc1bbfd74011693a4fd837e7026152e89c4bcf3e77b6692fba9923123/markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", size = 13906, upload-time = "2025-09-27T18:36:40.689Z" }, + { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" }, + { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" }, + { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" }, + { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" }, + { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" }, + { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" }, + { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" }, + { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" }, + { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" }, + { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" }, + { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" }, + { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" }, + { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" }, + { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" }, + { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" }, + { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" }, + { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" }, + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, + { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, + { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, + { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, + { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, + { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, + { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, + { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, +] + [[package]] name = "mdurl" version = "0.1.2" @@ -252,8 +326,8 @@ wheels = [ [[package]] name = "mreg-api" -version = "0.4.0" -source = { registry = "https://pypi.org/simple" } +version = "0.4.1.dev4+g984ce258e" +source = { git = "https://github.com/unioslo/mreg-api?branch=main#984ce258eaffcc2d7583c12502725ddad0a8b613" } dependencies = [ { name = "diskcache" }, { name = "httpx", extra = ["socks"] }, @@ -262,10 +336,6 @@ dependencies = [ { name = "pydantic-settings" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/91/48/dfa7696b96b8b94264c93672fded05068c99eb5c9e1fd61fbacac0c14208/mreg_api-0.4.0.tar.gz", hash = "sha256:1fc7da920ec921e608c553704bc20115447da9b407d1340eb12cb8bf5a2fb96c", size = 215486, upload-time = "2026-08-24T14:00:31.902Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8c/c1/eda618d27db1351c05bed4cad5219d05ad592c64b2cbc89d936aae32bcde/mreg_api-0.4.0-py3-none-any.whl", hash = "sha256:48cd3cbfb48ec5b69acdf4d466da2c1c91e64ad91ff10085b891f729f187dcd5", size = 96348, upload-time = "2026-08-24T14:00:30.612Z" }, -] [[package]] name = "mreg-cli" @@ -288,6 +358,7 @@ ci = [ { name = "inline-snapshot" }, { name = "pyinstaller" }, { name = "pytest" }, + { name = "pytest-httpserver" }, { name = "ruff" }, { name = "setuptools" }, { name = "setuptools-scm" }, @@ -299,6 +370,7 @@ dev = [ { name = "inline-snapshot" }, { name = "pyinstaller" }, { name = "pytest" }, + { name = "pytest-httpserver" }, { name = "ruff" }, { name = "setuptools" }, { name = "setuptools-scm" }, @@ -307,7 +379,7 @@ dev = [ [package.metadata] requires-dist = [ - { name = "mreg-api", specifier = ">=0.4.0,<0.5.0" }, + { name = "mreg-api", git = "https://github.com/unioslo/mreg-api?branch=main" }, { name = "platformdirs", specifier = ">=4.3.0" }, { name = "prompt-toolkit", specifier = ">=3.0.0" }, { name = "pydantic", extras = ["email"], specifier = ">=2.7.1" }, @@ -324,6 +396,7 @@ ci = [ { name = "inline-snapshot" }, { name = "pyinstaller" }, { name = "pytest" }, + { name = "pytest-httpserver", specifier = ">=1.1.5" }, { name = "ruff" }, { name = "setuptools" }, { name = "setuptools-scm" }, @@ -335,6 +408,7 @@ dev = [ { name = "inline-snapshot" }, { name = "pyinstaller" }, { name = "pytest" }, + { name = "pytest-httpserver", specifier = ">=1.1.5" }, { name = "ruff" }, { name = "setuptools" }, { name = "setuptools-scm" }, @@ -625,6 +699,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d4/24/a372aaf5c9b7208e7112038812994107bc65a84cd00e0354a88c2c77a617/pytest-9.0.3-py3-none-any.whl", hash = "sha256:2c5efc453d45394fdd706ade797c0a81091eccd1d6e4bccfcd476e2b8e0ab5d9", size = 375249, upload-time = "2026-04-07T17:16:16.13Z" }, ] +[[package]] +name = "pytest-httpserver" +version = "1.1.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "werkzeug" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/50/17/ad187f46998814014f7cda309de700b87c0eb4b2e111e18bc8c819be7116/pytest_httpserver-1.1.5.tar.gz", hash = "sha256:dc3d82e1fe00e491829d8939c549bf4bd9b39a260f87113c619b9d517c2f8ff1", size = 70974, upload-time = "2026-02-14T13:27:23.412Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/df/0bdf90b84c6a586a9fd2b509523a3ab26b1cc1b1dba2fb62a32e4411ea9e/pytest_httpserver-1.1.5-py3-none-any.whl", hash = "sha256:ee83feb587ab652c0c6729598db2820e9048233bac8df756818b7845a1621d0a", size = 23330, upload-time = "2026-02-14T13:27:22.119Z" }, +] + [[package]] name = "python-dateutil" version = "2.9.0.post0" @@ -896,3 +982,15 @@ sdist = { url = "https://files.pythonhosted.org/packages/2c/ee/afaf0f85a9a18fe47 wheels = [ { url = "https://files.pythonhosted.org/packages/41/52/e465037f5375f43533d1a80b6923955201596a99142ed524d77b571a1418/wcwidth-0.7.0-py3-none-any.whl", hash = "sha256:5d69154c429a82910e241c738cd0e2976fac8a2dd47a1a805f4afed1c0f136f2", size = 110825, upload-time = "2026-05-02T16:04:11.033Z" }, ] + +[[package]] +name = "werkzeug" +version = "3.1.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/dd/b2/381be8cfdee792dd117872481b6e378f85c957dd7c5bca38897b08f765fd/werkzeug-3.1.8.tar.gz", hash = "sha256:9bad61a4268dac112f1c5cd4630a56ede601b6ed420300677a869083d70a4c44", size = 875852, upload-time = "2026-04-02T18:49:14.268Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/93/8c/2e650f2afeb7ee576912636c23ddb621c91ac6a98e66dc8d29c3c69446e1/werkzeug-3.1.8-py3-none-any.whl", hash = "sha256:63a77fb8892bf28ebc3178683445222aa500e48ebad5ec77b0ad80f8726b1f50", size = 226459, upload-time = "2026-04-02T18:49:12.72Z" }, +]