50 lines
936 B
Python
Executable File
50 lines
936 B
Python
Executable File
#! /usr/bin/python
|
|
# coding=utf8
|
|
#
|
|
# Inventory script for Ansible skeleton, to be used on Windows host systems
|
|
|
|
import socket
|
|
import sys
|
|
from getopt import getopt, GetoptError
|
|
|
|
|
|
#
|
|
# Helper functions
|
|
#
|
|
|
|
|
|
def usage():
|
|
print ("Usage: %s [OPTION]\n"
|
|
" --list list all hosts\n"
|
|
" --host=HOST gives extra info"
|
|
"about the specified host\n") % sys.argv[0]
|
|
|
|
|
|
def list_hosts():
|
|
host_name = socket.gethostname()
|
|
print "{ \"all\": { \"hosts\": [\"%s\"] } }" % host_name
|
|
|
|
|
|
def host_info(host):
|
|
print "{}"
|
|
|
|
#
|
|
# Parse command line
|
|
#
|
|
|
|
try:
|
|
opts, args = getopt(sys.argv[1:], "lh:", ['list', 'host='])
|
|
except GetoptError as err:
|
|
print str(err)
|
|
usage()
|
|
sys.exit(2)
|
|
|
|
for opt, opt_arg in opts:
|
|
if opt in ('-l', '--list'):
|
|
list_hosts()
|
|
sys.exit(0)
|
|
if opt in ('-h', '--host'):
|
|
host_info(opt_arg)
|
|
else:
|
|
assert False, "unhandled option: %s" % opt
|