{% extends "base.html" %}
{% from "_macros.html" import no_data with context %}
{% block title %}Diff{% endblock %}
{% macro delta(n) -%}
{{ '%+d' % n }}
{%- endmacro %}
{% block content %}
Diff
{% if not snap %}
{{ no_data() }}
{% elif choices | length < 2 %}
The diff needs two successful snapshots of this account: Refresh again later, or set a
scheduled refresh in
Settings.
{% else %}
{% if error %}{{ error }}
{% endif %}
{% if result %}
{% set t = result.totals %}
Snapshot #{{ result.old_id }} ({{ taken[result.old_id] | localtime }}) → #{{ result.new_id }} ({{ taken[result.new_id] | localtime }}):
ENIs +{{ t.enis_added }} added −{{ t.enis_removed }} removed
{{ t.enis_changed }} changed ·
IPs +{{ t.ips_added }} added −{{ t.ips_removed }} removed
{{ t.ips_changed }} changed · net {{ delta(t.ip_delta) }} IPs
Net IP delta per subnet
| Subnet | Name | CIDR | Before | After | Δ |
{% for d in result.subnets %}
| {{ d.subnet_id }} | {{ d.name }} | {{ d.cidr }} |
{{ d.old }} | {{ d.new }} | {{ delta(d.delta) }} |
{% else %}| No subnets |
{% endfor %}
Top consumers
Resources whose IP count grew the most.
| Resource | Type | Before | After | Δ |
{% for c in result.consumers %}
| {{ c.resource }} | {{ c.type_label }} | {{ c.old }} | {{ c.new }} | {{ delta(c.delta) }} |
{% else %}| No resource grew. |
{% endfor %}
Changes by owner type, ownership and environment
{% for g in result.groups %}
{{ g.type_label }} · {{ g.owner }} · env {{ g.env or not_set }}
· ENIs +{{ g.count('enis', 'added') }} / −{{ g.count('enis', 'removed') }} / ~{{ g.count('enis', 'changed') }}
· IPs +{{ g.count('ips', 'added') }} / −{{ g.count('ips', 'removed') }} / ~{{ g.count('ips', 'changed') }}
· net {{ delta(g.ip_delta) }}
{% if g.enis %}
| Change | ENI | Resource | Subnet | Details |
{% for e in g.enis %}
| {{ e.kind }} |
{{ e.eni_id }} | {{ e.resource }} | {{ e.subnet_id }} |
{% if e.kind == 'added' %}{{ e.new_ips | join(', ') }}{% elif e.kind == 'removed' %}{{ e.old_ips | join(', ') }}{% else %}{{ e.details | join('; ') }}{% endif %} |
{% endfor %}
{% endif %}
{% if g.ips %}
| Change | IP | Resource | Subnet | ENI |
{% for i in g.ips %}
| {{ i.kind }} |
{{ i.ip }} | {{ i.resource }} | {{ i.subnet_id }} |
{{ i.detail or i.new_eni or i.old_eni }} |
{% endfor %}
{% endif %}
{% else %}
No ENI or IP changes between these snapshots.
{% endfor %}
{% endif %}
{% endif %}
{% endblock %}