{% extends 'layouts/base.html' %} {% from 'partials/activity_macros.html' import stamp, outcome, filters, summary, records %} {% block subtitle %}

Host activity · {{ customer }}. Current membership from Core; execution history from this add-on only.

{% endblock %} {% block content %}
CURRENT INVENTORY MEMBERSHIP {% if inventory_error %}

Current inventory is unavailable. Retained history is still shown below.

This is not an empty-inventory or offline-host result. Refresh after Core connectivity is restored.

{% elif current %}

{{ current.platforms|join(', ') or 'Platform not supplied' }} · {{ current.address or 'Address not supplied' }}

Retrieved {{ stamp(fetched_at) }} {% else %}

Not in current inventory.

Historical records are retained under this logical customer/hostname identity; it is not a hardware identifier.

{% endif %}

RETAINED WEBGUI HISTORY

Playbook activity

{{ filters(data,outcome_labels,'/inventory/' + (customer|urlencode) + '/activity',host) }}

{{ 'All retained history' if data.filters.days == 'all' else 'Rolling ' + data.filters.days + '-day window' }} · {% if data.filters.mode == 'check' %}Check-mode results do not prove that changes were applied.{% elif data.filters.mode == 'all' %}Apply and check results are combined explicitly; each record is labeled.{% else %}Apply runs only.{% endif %} Deleted jobs and AIM terminal runs are not included.

{{ summary(data,outcome_labels) }} {% if data.book_stats %}

Playbooks used on this host

{% for b in data.book_stats %}{{ b.playbook|replace('_',' ') }}{{ b.jobs }} runs · {{ b.counts.successful }} succeeded · {{ b.counts.unreachable }} unreachableLatest: {{ outcome_labels[b.latest.outcome] }} · {{ stamp(b.latest.recorded_at) }}{% endfor %}
{% endif %}

Run timeline

{{ data.matched }} samples · page {{ data.page }} / {{ data.pages }}
{{ records(data,outcome_labels) }}

Your saved plans containing this host

{% for p in data.plans %}{{ p.name }}{{ p.playbook|replace('_',' ') }} · {{ stamp(p.created_at) }}{% else %}

None of your retained saved plans select this exact hostname.

{% endfor %}

Recorded operation reports

Latest 20 retained report references for this exact host, across Apply/Check and all retained dates. These are dated WebGUI observations, not current inventory or health.

{% for item in report_links %}{{ item.title }}{{ item.status|replace('_',' ') }} · {{ item.retention|replace('_',' ') }} · {{ 'CHECK' if item.check_mode else 'APPLY' }}{{ stamp(item.stored_at) }} · {{ item.job_id[:12] }}{% else %}

No retained report references for this host.

{% endfor %}

Final Ansible outcomes are historical execution facts, not current software versions or application health. Renamed or recreated hosts are not automatically merged.

{% endblock %}