xref: /netbsd-src/external/bsd/unbound/dist/libunbound/python/doc/examples/example6-1.py (revision 3b6c3722d8f990f9a667d638078aee8ccdc3c0f3)
1*3b6c3722Schristos#!/usr/bin/python
2*3b6c3722Schristosfrom unbound import ub_ctx,ub_strerror,RR_TYPE_A,RR_CLASS_IN
3*3b6c3722Schristos
4*3b6c3722Schristosctx = ub_ctx()
5*3b6c3722Schristosctx.resolvconf("/etc/resolv.conf")
6*3b6c3722Schristos
7*3b6c3722Schristosstatus, result = ctx.resolve("test.record.xxx", RR_TYPE_A, RR_CLASS_IN)
8*3b6c3722Schristosif status == 0 and result.havedata:
9*3b6c3722Schristos    print "Result:", result.data.address_list
10*3b6c3722Schristoselse:
11*3b6c3722Schristos    print "No record found"
12*3b6c3722Schristos
13*3b6c3722Schristos#define new local zone
14*3b6c3722Schristosstatus = ctx.zone_add("xxx.","static")
15*3b6c3722Schristosif (status != 0): print "Error zone_add:",status, ub_strerror(status)
16*3b6c3722Schristos
17*3b6c3722Schristos#add RR to the zone
18*3b6c3722Schristosstatus = ctx.data_add("test.record.xxx. IN A 1.2.3.4")
19*3b6c3722Schristosif (status != 0): print "Error data_add:",status, ub_strerror(status)
20*3b6c3722Schristos
21*3b6c3722Schristos#lookup for an A record
22*3b6c3722Schristosstatus, result = ctx.resolve("test.record.xxx", RR_TYPE_A, RR_CLASS_IN)
23*3b6c3722Schristosif status == 0 and result.havedata:
24*3b6c3722Schristos    print "Result:", result.data.as_address_list()
25*3b6c3722Schristoselse:
26*3b6c3722Schristos    print "No record found"
27*3b6c3722Schristos
28