| |
@@ -1,11 +1,34 @@
|
| |
#!/usr/bin/env python
|
| |
|
| |
+ # The MIT License (MIT)
|
| |
+ #
|
| |
+ # Copyright (c) 2017-2018 Red Hat Inc.
|
| |
+ #
|
| |
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of
|
| |
+ # this software and associated documentation files (the "Software"), to deal in
|
| |
+ # the Software without restriction, including without limitation the rights to
|
| |
+ # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
| |
+ # the Software, and to permit persons to whom the Software is furnished to do so,
|
| |
+ # subject to the following conditions:
|
| |
+ #
|
| |
+ # The above copyright notice and this permission notice shall be included in all
|
| |
+ # copies or substantial portions of the Software.
|
| |
+ #
|
| |
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| |
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
| |
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
| |
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
| |
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
| |
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
| |
+ #
|
| |
+ # Author: Stef Walter <stefw@redhat.com>
|
| |
+
|
| |
import argparse
|
| |
import json
|
| |
import os
|
| |
- import shlex
|
| |
import sys
|
| |
|
| |
+
|
| |
def main(argv):
|
| |
parser = argparse.ArgumentParser(description="Inventory for local")
|
| |
parser.add_argument("--list", action="store_true", help="Verbose output")
|
| |
@@ -14,9 +37,9 @@
|
| |
|
| |
try:
|
| |
if opts.host:
|
| |
- data = host(opts.host)
|
| |
+ data = inv_host(opts.host)
|
| |
else:
|
| |
- data = list()
|
| |
+ data = inv_list()
|
| |
sys.stdout.write(json.dumps(data, indent=4, separators=(',', ': ')))
|
| |
except RuntimeError as ex:
|
| |
sys.stderr.write("{0}: {1}\n".format(os.path.basename(sys.argv[0]), str(ex)))
|
| |
@@ -24,21 +47,25 @@
|
| |
|
| |
return 0
|
| |
|
| |
- def list():
|
| |
- rpms = [ ]
|
| |
- hosts = [ ]
|
| |
- variables = { }
|
| |
+
|
| |
+ def inv_list():
|
| |
+ hosts = []
|
| |
+ variables = {}
|
| |
if os.environ.get("TEST_SUBJECTS", None) == "local":
|
| |
- vars = host("local")
|
| |
- if vars:
|
| |
+ host_vars = inv_host("local")
|
| |
+ if host_vars:
|
| |
hosts.append("local")
|
| |
- variables["local"] = vars
|
| |
- return { "subjects": { "hosts": hosts, "vars": { } }, "localhost": { "hosts": hosts, "vars": { } }, "_meta": { "hostvars": variables } }
|
| |
+ variables["local"] = host_vars
|
| |
+ return {"subjects": {"hosts": hosts, "vars": {}},
|
| |
+ "localhost": {"hosts": hosts, "vars": {}},
|
| |
+ "_meta": {"hostvars": variables}}
|
| |
|
| |
- def host(host):
|
| |
+
|
| |
+ def inv_host(host):
|
| |
if host == "local":
|
| |
- return { "ansible_connection": "local" }
|
| |
+ return {"ansible_connection": "local"}
|
| |
return None
|
| |
|
| |
+
|
| |
if __name__ == '__main__':
|
| |
sys.exit(main(sys.argv))
|
| |
result running inspekt: