def ansible_inventory(): data = {} for tag in Tag.find_all(): data[tag.name] = {'hosts': [host.name for host in tag.items]} data['_meta'] = {'hostvars': {}} for item in Item.find_all(): vars = {} for var in item.to_data()['vars']: vars[var['key']] = var['value'] data['_meta']['hostvars'][item.name] = vars ansible_groups = ['linux', 'ansible-managed'] return json_response(keep_only(ansible_groups, data))
def list_items(): if request.method == "POST": item_name = request.form["item-name"] item = Item.find(item_name) if not item: item = Item(item_name) if 'tag-name' in request.form: tag = Tag.find(request.form['tag-name']) if tag: item.add_to(tag) item.save() return redirect(url_for('show_item', name=item.name)) items = Item.find_all() return render_template('items.html', items=items)