#!/usr/bin/env python
import logging; log = logging.getLogger('pvl.hosts-dhcp')
import optparse
import pvl.args
import pvl.hosts
import pvl.hosts.dhcp
def main (argv):
"""
Generate DHCP host configs from host definitions.
"""
parser = optparse.OptionParser(main.__doc__)
parser.add_option_group(pvl.args.parser(parser))
parser.add_option_group(pvl.hosts.config.optparser(parser))
# input
options, args = pvl.args.parse(parser, argv)
if not args:
log.fatal("no hosts given as input")
return 1
hosts = pvl.hosts.apply(options, args)
# process
try:
for block in pvl.hosts.dhcp.dhcp_hosts(hosts):
for line in pvl.dhcp.config.build_block(block):
print line
print ''
except pvl.hosts.HostError as error:
log.error("%s", error)
return 3
if __name__ == '__main__':
pvl.args.main(main)