{% extends 'generic/object.html' %} {% load helpers %} {% load i18n %} {% block extra_controls %} {% if perms.netbox_orchestrator.change_provider %}
{% csrf_token %}
{% csrf_token %}
{% endif %} {% if pending_credential and perms.netbox_orchestrator.change_provider %} {% trans "Review project change" %} {% endif %} {% endblock extra_controls %} {% block content %} {% if pending_credential %} {% endif %} {% if periodic_sync_paused %} {% endif %}

{% trans "Provider" %}

{% trans "Project name" %} {{ object.name }}
{% trans "Type" %} {% badge object.get_provider_type_display %}
{% trans "Description" %} {{ object.description|placeholder }}
{% trans "Credential" %} {% if credential_viewable %} {{ credential.name }} {% else %} {{ credential.name|placeholder }} {% endif %}
{% trans "Sync interval" %} {% if object.sync_interval %} {% blocktrans with minutes=object.sync_interval %}{{ minutes }} minutes{% endblocktrans %} {% else %} {% trans "Disabled" %} {% endif %}
{% trans "Last synced" %} {{ object.last_synced|isodatetime|placeholder }}
{% trans "Servers provisioning at once" %} {% if object.provisioning_limit %} {% blocktrans with limit=object.provisioning_limit %}At most {{ limit }}{% endblocktrans %} {% else %} {% trans "No limit" %} {% endif %}

{% trans "Access" %}

{% if latest_sync_error %} {% endif %}
{% trans "Access" %} {% badge object.get_access_display bg_color=access_color %}
{% trans "Checked" %} {{ object.access_checked|isodatetime|placeholder }}
{% trans "Message" %} {{ object.access_message|placeholder }}
{% trans "Latest check" %} {% if latest_check_job %} #{{ latest_check_job.pk }} {% badge latest_check_status.label bg_color=latest_check_status.color %} {{ latest_check_job.created|isodatetime }} {% else %} {{ None|placeholder }} {% endif %}
{% trans "Latest sync" %} {% if latest_sync_job %} #{{ latest_sync_job.pk }} {% badge latest_sync_job.get_status_display bg_color=job_status_colors|get_key:latest_sync_job.status %} {{ latest_sync_job.created|isodatetime }} {% else %} {{ None|placeholder }} {% endif %}
{% trans "Last sync error" %} {{ latest_sync_error|linebreaksbr }}

{% trans "Default SSH key" %}

{% trans "Credential" %} {% if default_ssh_key.credential_viewable %} {{ default_ssh_key.credential.name }} {% else %} {{ default_ssh_key.credential.name|placeholder }} {% endif %}
{% trans "Status" %} {{ default_ssh_key.state|capfirst }} {{ default_ssh_key.text }}
{% trans "Fingerprint" %} {{ default_ssh_key.fingerprint|placeholder }}
{% if default_ssh_key.public_key %}
{{ default_ssh_key.public_key }}
{% endif %}
{% include 'inc/panels/tags.html' %} {% include 'inc/panels/custom_fields.html' %}

{% trans "NetBox objects" %}

{% trans "Tenant" %} {% if project_objects.tenant.hidden %} {% trans "hidden" %} {% else %} {{ project_objects.tenant.object|linkify|placeholder }} {% endif %}
{% trans "Cluster" %} {% if project_objects.cluster.hidden %} {% trans "hidden" %} {% else %} {{ project_objects.cluster.object|linkify|placeholder }} {% endif %}
{% trans "VRF" %} {% if project_objects.vrf.hidden %} {% trans "hidden" %} {% else %} {{ project_objects.vrf.object|linkify|placeholder }} {% endif %}
{% trans "Cluster group" %} {% if project_objects.cluster_group.hidden %} {% trans "hidden" %} {% else %} {{ project_objects.cluster_group.object|linkify|placeholder }} {% endif %}
{% trans "Site group" %} {% if project_objects.site_group.hidden %} {% trans "hidden" %} {% else %} {{ project_objects.site_group.object|linkify|placeholder }} {% endif %}
{% trans "Region" %} {% if project_objects.region.hidden %} {% trans "hidden" %} {% else %} {{ project_objects.region.object|linkify|placeholder }} {% endif %}
{% for location in locations %} {% empty %} {% endfor %}
{% trans "Location" %} {% trans "Description" %} {% trans "Network zone" %} {% trans "Site" %}
{{ location.name }} {{ location.description|placeholder }} {{ location.network_zone|placeholder }} {% if location.site.hidden %} {% trans "hidden" %} {% else %} {{ location.site.object|linkify }} {% endif %}
{% trans "No locations synced yet." %}

{% trans "Server types" %}

{% for location_name in server_type_locations %} {% endfor %} {% for server_type in server_type_rows %} {% for cell in server_type.cells %} {% endfor %} {% empty %} {% endfor %}
{% trans "Name" %} {% trans "vCPU" %} {% trans "RAM GB" %} {% trans "Disk GB" %} {% trans "CPU" %} {% trans "Architecture" %}{{ location_name }}
{{ server_type.row.name }} {% if not server_type.row.listed %} {% trans "legacy" %} {% endif %} {{ server_type.row.cores }} {{ server_type.memory }} {{ server_type.row.disk }} {{ server_type.row.cpu_type|placeholder }} {{ server_type.row.architecture|placeholder }} {% if cell.state == "orderable" %} {% if cell.price %}{{ cell.price }}{% else %}{% trans "available" %}{% endif %} {% elif cell.state == "out_of_stock" %} {% if cell.price %}{{ cell.price }} {% endif %}{% trans "out of stock" %} {% elif cell.state == "deprecated" %} {% trans "deprecated" %} {% else %} - {% endif %}
{% trans "No server types synced yet." %}

{% trans "Images" %}

{% for image in images %} {% empty %} {% endfor %}
{% trans "Name" %} {% trans "Description" %} {% trans "Architectures" %} {% trans "Operating system" %} {% trans "Available until" %}
{{ image.name }} {% if image.legacy %} {% trans "legacy" %} {% endif %} {{ image.description|placeholder }} {{ image.architectures|placeholder }} {{ image.operating_system|placeholder }} {% if image.available_until %}{{ image.available_until|isodate }}{% else %}-{% endif %}
{% trans "No images synced yet." %}

{% trans "SSH keys" %}

{% for ssh_key in ssh_keys %} {% empty %} {% endfor %}
{% trans "Name" %} {% trans "Fingerprint" %}
{{ ssh_key.name }} {{ ssh_key.fingerprint }}
{% trans "No SSH keys synced yet." %}

{% trans "Servers" %}

{% for server in servers %} {% empty %} {% endfor %}
{% trans "Virtual machine" %} {% trans "Server name" %} {% trans "Server ID" %} {% trans "State" %} {% trans "Provider status" %} {% trans "Location" %} {% trans "Public IPv4" %} {% trans "Last synced" %}
{% if server.vm_viewable %} {{ server.virtual_machine|linkify }} {% else %} {% trans "hidden" %} {% endif %} {% if server.vm_viewable %} {{ server.name|placeholder }} {% else %} {% trans "hidden" %} {% endif %} {{ server.external_id|placeholder }} {% badge server.state bg_color=server.state_color %} {{ server.status|placeholder }} {{ server.location|placeholder }} {% if server.vm_viewable %} {{ server.public_ipv4|placeholder }} {% else %} {% trans "hidden" %} {% endif %} {{ server.last_synced|isodatetime|placeholder }}
{% trans "No servers linked yet." %}
{% if import_candidates %}

{% trans "Import review" %}

{% trans "These servers match a virtual machine that is not linked to a provider. Adopting links the server to that virtual machine, and the next sync replaces its interfaces, IP addresses and disks with the ones at the provider. Creating a separate virtual machine leaves the matched one untouched." %}

{% for candidate in import_candidates %} {% endfor %}
{% trans "Server name" %} {% trans "Server ID" %} {% trans "Location" %} {% trans "Public IPv4" %} {% trans "Matched virtual machine" %} {% trans "Match reason" %} {% trans "Actions" %}
{% if candidate.match_viewable %} {{ candidate.name|placeholder }} {% else %} {% trans "hidden" %} {% endif %} {{ candidate.external_id|placeholder }} {{ candidate.location|placeholder }} {% if candidate.match_viewable %} {{ candidate.public_ipv4|placeholder }} {% else %} {% trans "hidden" %} {% endif %} {% if candidate.match_viewable %} {{ candidate.match_virtual_machine|linkify }} {% else %} {% trans "hidden" %} {% endif %} {% if candidate.match_viewable %} {{ candidate.match_reason|placeholder }} {% else %} {% trans "hidden" %} {% endif %} {% if perms.netbox_orchestrator.change_provider %}
{% csrf_token %}
{% csrf_token %}
{% if candidate.create_blocked and candidate.match_viewable %}
{% blocktrans with name=candidate.name %}A virtual machine named {{ name }} already exists in the provider cluster; adopt it instead.{% endblocktrans %}
{% elif candidate.create_blocked %}
{% trans "hidden" %}
{% endif %} {% endif %}
{% endif %} {% endblock content %}