From Commodious Meerkat, 1 Month ago, written in Plain Text.
Embed
  1. #!/usr/bin/env python
  2. import json
  3. import argparse
  4. import os
  5.  
  6. parser = argparse.ArgumentParser(description='Create dhcp databags')
  7.  
  8. parser.add_argument(
  9.   '--mac',
  10.   nargs=1,
  11.   help='MAC address',
  12.   required=True
  13. )
  14.  
  15. parser.add_argument(
  16.   '--ip',
  17.   nargs=1,
  18.   help='IP address',
  19.   required=True
  20. )
  21.  
  22. parser.add_argument(
  23.   '-d',
  24.   nargs=1,
  25.   help='Data bag directory',
  26. )
  27.  
  28. parser.add_argument(
  29.   'hostname',
  30.   help='Hostname of machine',
  31. )
  32.  
  33. args = parser.parse_args()
  34.  
  35. databag_id = args.hostname.replace('.','-')
  36.  
  37. if args.d == None:
  38.     databag_dir = '.'
  39. else:
  40.     databag_dir = args.d[0]
  41.  
  42. databag_path = os.path.join(databag_dir, databag_id + '.json')
  43.  
  44. databag = open(databag_path, 'w')
  45.  
  46. databag_contents = json.dumps({
  47.   'id': databag_id,
  48.   'hostname': args.hostname,
  49.   'mac': args.mac[0],
  50.   'ip': args.ip[0]
  51. }, indent=4)
  52.  
  53. databag.write(databag_contents)
  54. databag.close()