{% extends 'admin/master.html' %} {% block body %} {% with active='inventory_tree' %} {% include 'admin/_host_tabs.html' with context %} {% endwith %}
{% if not tree_views %}
No raw inventory tree has been collected for {{ host.hostname }} yet. Configure a source plugin's inventory settings (e.g. Checkmk → Inventorize from Checkmk Settings) and run the import — the full tree will then be stored here while only the configured paths land on Host.inventory for the rule engine.
{% else %} {% for view in tree_views %}
{{ view.source }} {{ view.entries|length }} entries {% if view.last_update %}· updated {{ view.last_update.strftime('%Y-%m-%d %H:%M') }}{% endif %} {% if view.has_diff %}

Changes since last import {% if view.previous_update %} ({{ view.previous_update.strftime('%Y-%m-%d %H:%M') }}) {% endif %}

{% if view.diff.added %} +{{ view.diff.added|length }} added {% endif %} {% if view.diff.removed %} −{{ view.diff.removed|length }} removed {% endif %} {% if view.diff.changed %} ~{{ view.diff.changed|length }} changed {% endif %}
{% if view.diff.added %}
Added paths
    {% for entry in view.diff.added %}
  • {{ entry.path }} = {{ entry.value }}
  • {% endfor %}
{% endif %} {% if view.diff.removed %}
Removed paths
    {% for entry in view.diff.removed %}
  • {{ entry.path }} = {{ entry.value }}
  • {% endfor %}
{% endif %} {% if view.diff.changed %}
Changed values
    {% for entry in view.diff.changed %}
  • {{ entry.path }}: {{ entry.old }} {{ entry.new }}
  • {% endfor %}
{% endif %}
{% endif %} {% for entry in view.entries %} {% endfor %}
PathValue
{{ entry.path }} {% if entry.render.kind == 'table' %}
{% for col in entry.render.columns %} {% endfor %} {% for row in entry.render.rows %} {% for cell in row %} {% endfor %} {% endfor %}
{{ col }}
{{ '' if cell is none else cell }}
{% elif entry.render.kind == 'list' %}
    {% for item in entry.render.items %}
  • {{ item }}
  • {% endfor %}
{% elif entry.render.kind == 'mapping' %}
{% for key, val in entry.render.items %} {% endfor %}
{{ key }} {{ '' if val is none else val }}
{% else %} {{ entry.render.text }} {% endif %}
{% endfor %} {% endif %}
{% endblock %}