{% extends 'base/layout.html' %} {% load i18n %} {% block title %}{% trans "Import YAML Bundle" %}{% endblock %} {% block content %}
{# ---- Messages ---- #} {% if messages %}
{% for message in messages %} {% endfor %}
{% endif %} {# ---- Import form ---- #}
{% trans "Import NSM Bundle (YAML)" %}

{% blocktrans %} Paste the YAML bundle below or upload a .yaml file. The bundle must use apiVersion: nsm/v1 and kind: Bundle. No code is executed — only safe YAML parsing. {% endblocktrans %}

{% csrf_token %}
{% trans "Cancel" %}
{# ---- Format reference ---- #}
{% trans "Format Reference" %}

{% trans "CustomType item" %}

apiVersion: nsm/v1
kind: CustomType
spec:
  name: my-type          # unique name
  area: srcdst           # srcdst | services | action
  description: ""
  fields:
    - name: dns_name
      label: DNS Name
      type: text         # text | object_ref
      tab_group: Address Parameters
    - name: ipam_prefix
      label: Prefix
      type: object_ref
      model: ipam.Prefix
      selector: true
      tab_group: Address Parameters

{% trans "CustomObject item" %}

apiVersion: nsm/v1
kind: CustomObject
spec:
  custom_type: my-type   # must match an existing or bundled CustomType name
  name: my-object
  description: ""
  fields:
    dns_name: "server.example.com"
    ipam_prefix:
      __model: ipam.Prefix
      __str: "10.0.0.0/24"   # resolved by natural key during import
  table_data:
    - key: Owner
      value: John

{% trans "Supported object_ref models" %}

  • ipam.Prefix, ipam.IPAddress, ipam.IPRange
  • dcim.Device, dcim.Interface
  • virtualization.VirtualMachine
  • ipam.VLAN, tenancy.Tenant
  • netbox_nsm.SecurityZone, netbox_nsm.CustomPrefix
{% endblock %}