{% extends 'generic/_base.html' %} {% load buttons %} {% load helpers %} {% load i18n %} {% load render_table from django_tables2 %} {% load static %} {% block title %}Kentik plugin v{{ plugin_version }}{% endblock %} {% block controls %} {% endblock controls %} {% block tabs %} {% endblock tabs %} {% block content %} {# Status panel #}

{% trans "API sync" %}

{% include 'netbox_kentik/inc/job_error_alert.html' with job=api_last_job %} {% if api_last_run %}
{% trans "Last run" %} {{ api_last_run|isodatetime }}
{% trans "Last job" %} {% include 'netbox_kentik/inc/job_status.html' with job=api_last_job %}
{% trans "Expires at" %} {% if api_expires_at %}{{ api_expires_at|isodatetime }}{% else %}{% trans "Never" %}{% endif %}
{% trans "TTL" %} {{ plugin_settings.cache_ttl }} seconds
{% trans "Kentik devices" %} {{ api_total_devices }}
{% trans "Kentik sites" %} {{ api_total_sites }}
{% elif not api_last_job or api_last_job.status == 'completed' %} {% endif %}
{% if can_run %}
{% csrf_token %}
{% else %} {% endif %}

{% trans "Reconciliation" %}

{% include 'netbox_kentik/inc/job_error_alert.html' with job=reconcile_last_job %} {% if rrc.has_reconciliation_run %}
{% trans "Last run" %} {% if rrc.last_run %}{{ rrc.last_run|isodatetime }}{% else %}{% trans "Never" %}{% endif %}
{% trans "Last job" %} {% include 'netbox_kentik/inc/job_status.html' with job=reconcile_last_job %}
{% trans "Last trigger" %} {{ rrc.last_trigger }}
{% trans "Expires at" %} {% if rrc.expires_at %}{{ rrc.expires_at|isodatetime }}{% else %}{% trans "Never" %}{% endif %}
{% trans "TTL" %} {{ plugin_settings.cache_ttl }} seconds
{% trans "Device matching" %} {% include 'netbox_kentik/inc/policy_counts.html' with rows=device_policy_rows %}
{% trans "Site matching" %} {% include 'netbox_kentik/inc/policy_counts.html' with rows=site_policy_rows %}
{% trans "Kentik devices matched" %} {% include 'netbox_kentik/inc/match_graph.html' with matched=rrc.num_matched_kentik_devices total=api_total_devices fill=True %}
{% trans "Kentik sites matched" %} {% include 'netbox_kentik/inc/match_graph.html' with matched=rrc.num_matched_kentik_sites total=api_total_sites fill=True %}
{% trans "NetBox devices matched" %} {% include 'netbox_kentik/inc/match_graph.html' with matched=rrc.num_matched_netbox_devices total=netbox_total_devices fill=True %}
{% trans "NetBox sites matched" %} {% include 'netbox_kentik/inc/match_graph.html' with matched=rrc.num_matched_netbox_sites total=netbox_total_sites fill=True %}
{% elif not reconcile_last_job or reconcile_last_job.status == 'completed' %} {% endif %}
{% if not can_run %} {% elif reconciliation_possible %}
{% csrf_token %}
{% else %} {% endif %}
{# Config panel #}

{% trans "Configuration" %}

{% trans "Cache seed" %} {{ plugin_settings.cache_seed }}
{% trans "Environment ID" %} {{ plugin_settings.environment }}
{% trans "Environment name" %} {{ plugin_settings.environment_name }}
{% trans "URL gRPC API" %} {{ plugin_settings.url_grpc_api }}
{% trans "URL Portal" %} {{ plugin_settings.url_portal }}
{% trans "URL Knowledgebase" %} {{ plugin_settings.url_kb }}
{% trans "Authentication email" %} {{ plugin_settings.api_auth_email }}
{% trans "API timeout" %} {{ plugin_settings.api_timeout }} seconds
{% trans "Device matching" %} {% for policy in plugin_settings.device_matching_policies %}{{ policy }}{% if not forloop.last %}
{% endif %}{% endfor %}
{% trans "Site matching" %} {% for policy in plugin_settings.site_matching_policies %}{{ policy }}{% if not forloop.last %}
{% endif %}{% endfor %}
{% endblock content %}