{# HOWTO #} {# Manual query parameters: ?switch=e1-1 #} {# If there is no manual switch option we just assume it's fap. The FAP query looks like this: "?a=d1.ring:ge-1/0/2.0:mgmt+irb.666". agentDistro and agentPort is functions from template.py. And splits out d1.ring and ge-1/0/2.0. The distro-tree API endpoint has a overview of what switch is connected to what distro on each port. #} {% if options["a"] %} {% set distro = options["a"] | agentDistro %} {% set port = options["a"] | agentPort %} {% set switch_name = objects["public/distro-tree"]['distro-tree-phy'][distro][port] %} {% elif options["switch"] %} {% set switch_name = options["switch"] %} {% else %} Unsupported option. Please use "?switch=e1-1" if this is done manually. {% endif %} {# Change this if statement to do if edge, elif distro etc before tg20 #} {# tagging edge switches was never done during TG19 #} {% if switch_name is defined %} {% import "vars.conf" as v with context %} {% if switch_name == "d1.roof" %} {% include "dist-roof.conf" %} {% elif switch_name == "r1.tele" %} {% include "core.conf" %} {% elif switch_name == "r1.stand" %} {% include "r1.stand.conf" %} {% elif ("distro" in v.switch_tags or "distro-utskutt" in v.switch_tags) and "els-software" in v.switch_tags %} {% include "juniper-distro-els.conf" %} {% elif "distro" in v.switch_tags or "distro-utskutt" in v.switch_tags %} {% include "juniper-distro-non-els.conf" %} {% else %} {% include "edge.conf" %} {% endif %} {% endif %}