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