|
26 | 26 | import traceback
|
27 | 27 | import yaml
|
28 | 28 |
|
29 |
| -from kapitan.utils import jsonnet_file, PrettyDumper, flatten_dict, searchvar |
| 29 | +from kapitan.utils import jsonnet_file, PrettyDumper, flatten_dict, searchvar, deep_get |
30 | 30 | from kapitan.targets import compile_targets
|
31 | 31 | from kapitan.resources import search_imports, resource_callbacks, inventory_reclass
|
32 | 32 | from kapitan.version import PROJECT_NAME, DESCRIPTION, VERSION
|
@@ -91,6 +91,8 @@ def main():
|
91 | 91 | help='set inventory path, default is "./inventory"')
|
92 | 92 | inventory_parser.add_argument('--flat', '-F', help='flatten nested inventory variables',
|
93 | 93 | action='store_true', default=False)
|
| 94 | + inventory_parser.add_argument('--pattern', '-p', default='', |
| 95 | + help='filter pattern (e.g. parameters.mysql), default is ""') |
94 | 96 |
|
95 | 97 | searchvar_parser = subparser.add_parser('searchvar',
|
96 | 98 | help='show all inventory files where var is declared')
|
@@ -179,6 +181,9 @@ def main():
|
179 | 181 | inv = inventory_reclass(args.inventory_path)
|
180 | 182 | if args.target_name != '':
|
181 | 183 | inv = inv['nodes'][args.target_name]
|
| 184 | + if args.pattern != '': |
| 185 | + pattern = args.pattern.split(".") |
| 186 | + inv = deep_get(inv, pattern) |
182 | 187 | if args.flat:
|
183 | 188 | inv = flatten_dict(inv)
|
184 | 189 | yaml.dump(inv, sys.stdout, width=10000)
|
|
0 commit comments