GET /api/devices/configurations/?format=api
HTTP 200 OK
Allow: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 1,
"display": "Core Groups and IXPs",
"name": "Core Groups and IXPs",
"description": "",
"template": "protocols {\r\n bgp {\r\n{% for ixp in internet_exchange_points %}\r\n {% for family in (6, 4) %}\r\n replace: group ipv{{ family }}-{{ ixp.slug }} {\r\n type external;\r\n multipath;\r\n advertise-inactive;\r\n {% if ixp | iter_import_policies %}\r\n import [ {{ ixp | iter_import_policies('slug') | join(' ') }} ];\r\n {% endif %}\r\n family inet{% if family == 6 %}6{% endif %} {\r\n unicast;\r\n }\r\n {% if ixp | iter_export_policies %}\r\n export [ {{ ixp | iter_export_policies('slug') | join(' ') }} ];\r\n {% endif %}\r\n {% for session in router | ixp_sessions(family=family, ixp=ixp) %}\r\n neighbor {{ session | ip }} {\r\n {% if not session.enabled %}\r\n shutdown;\r\n {% endif %}\r\n description \"Peering: AS{{ session.autonomous_system.asn }} - {{ session.autonomous_system.name }}\";\r\n {% if family == 6 and session.autonomous_system.ipv6_max_prefixes > 0 %}\r\n family inet6 {\r\n unicast {\r\n prefix-limit {\r\n maximum {{ session.autonomous_system.ipv6_max_prefixes }};\r\n }\r\n }\r\n }\r\n {% endif %}\r\n {% if family == 4 and session.autonomous_system.ipv4_max_prefixes > 0 %}\r\n family inet {\r\n unicast {\r\n prefix-limit {\r\n maximum {{ session.autonomous_system.ipv4_max_prefixes }};\r\n }\r\n }\r\n }\r\n {% endif %}\r\n {% if session | iter_import_policies %}\r\n import [ {{ session | iter_import_policies('slug') | join(' ') }} ];\r\n {% endif %}\r\n {% if session | iter_export_policies %}\r\n export [ {{ session | iter_export_policies('slug') | join(' ') }} ];\r\n {% endif %}\r\n {% if session.encrypted_password %}\r\n authentication-key \"{{ session.encrypted_password }}\";\r\n {% elif session.password %}\r\n authentication-key \"{{ session.password }}\";\r\n {% endif %}\r\n peer-as {{ session.autonomous_system.asn }};\r\n }\r\n {% endfor %}\r\n }\r\n {% endfor %}\r\n{% endfor %}\r\n\r\n{% for group in bgp_groups %}\r\n {% for family in (6, 4) %}\r\n replace: group ipv{{ family }}-{{ group.slug }} {\r\n type external;\r\n multipath;\r\n advertise-inactive;\r\n {% if group | iter_import_policies %}\r\n import [ {{ group | iter_import_policies('slug') | join(' ') }} ];\r\n {% endif %}\r\n family inet{% if family == 6 %}6{% endif %} {\r\n unicast;\r\n }\r\n {% if group | iter_export_policies %}\r\n export [ {{ group | iter_export_policies('slug') | join(' ') }} ];\r\n {% endif %}\r\n {% for session in router | direct_sessions(family=family, group=group) %}\r\n neighbor {{ session | ip }} {\r\n {% if not session.enabled %}\r\n shutdown;\r\n {% endif %}\r\n description \"Peering: AS{{ session.autonomous_system.asn }} - {{ session.autonomous_system.name }}\";\r\n {% if family == 6 and session.autonomous_system.ipv6_max_prefixes > 0 %}\r\n family inet6 {\r\n unicast {\r\n prefix-limit {\r\n maximum {{ session.autonomous_system.ipv6_max_prefixes }};\r\n }\r\n }\r\n }\r\n {% endif %}\r\n {% if family == 4 and session.autonomous_system.ipv4_max_prefixes > 0 %}\r\n family inet {\r\n unicast {\r\n prefix-limit {\r\n maximum {{ session.autonomous_system.ipv4_max_prefixes }};\r\n }\r\n }\r\n }\r\n {% endif %}\r\n {% if session | iter_import_policies %}\r\n import [ {{ session | iter_import_policies('slug') | join(' ') }} ];\r\n {% endif %}\r\n {% if session | iter_export_policies %}\r\n export [ {{ session | iter_export_policies('slug') | join(' ') }} ];\r\n {% endif %}\r\n {% if session.encrypted_password %}\r\n authentication-key \"{{ session.encrypted_password }}\";\r\n {% elif session.password %}\r\n authentication-key \"{{ session.password }}\";\r\n {% endif %}\r\n peer-as {{ session.autonomous_system.asn }};\r\n }\r\n {% endfor %}\r\n }\r\n {% endfor %}\r\n{% endfor %}\r\n }\r\n}\r\npolicy-options {\r\n{% for c in communities %}\r\n community {{ c.slug }} members {{ c.value }};\r\n{% endfor %}\r\n}",
"jinja2_trim": true,
"jinja2_lstrip": true,
"comments": "",
"tags": [],
"created": "2022-03-04T22:30:38.640000Z",
"updated": "2022-03-05T10:07:37.778000Z"
}
]
}