Descripciones de interfaz (API)
Además de los parámetros principales de las interfaces de red, como el nombre, la velocidad y el modo de puerto, Apstra también configura una descripción para interfaces físicas e interfaces lógicas agregadas (los llamados canales de puerto). La descripción de la interfaz se genera automáticamente si se cumplen las siguientes condiciones:
- La interfaz está conectada a un par.
- La interfaz pertenece al sistema leaf, spine o genérico.
- La interfaz par pertenece al sistema leaf, spine o genérico con punto de conexión de red virtual en este servidor.
La descripción generada tiene el formulario <facing_|to.><peer-device-label>[:peer-interface-name]
. Ejemplos:
- facing_spine2:Ethernet1/2
- to.server1:eth0
- to.server2
El prefijo del nombre es facing_
si el par es leaf, spine o enrutador externo. El prefijo está to.
en caso de que el dispositivo par sea un servidor L2 o L3. La parte del nombre de interfaz del par solo está presente cuando Apstra controla el dispositivo par.
API REST de Apstra: descripciones de interfaz
La API de Apstra puede cambiar la descripción de la interfaz generada automáticamente. Sin embargo, no existe dicha funcionalidad en la interfaz de usuario de Apstra.
La descripción de la interfaz puede contener caracteres ASCII con los códigos 33-126 y espacios, excepto "?", que se interpreta como una finalización de comandos. La longitud de la descripción está limitada a 240 caracteres, que es la longitud más larga posible entre los modelos de conmutadores compatibles.
Las interfaces se almacenan internamente como nodos de gráficos con cierto conjunto de propiedades. Descripción es una de estas propiedades. Para modificar la descripción, utilice la API genérica para interactuar con los nodos de gráficos.
- API: obtener configuración de interfaz
- API: crear o modificar la descripción de la interfaz
- API: eliminar la descripción de la interfaz
API: obtener configuración de interfaz
Para obtener la configuración de la interfaz, envíe la solicitud GET a https://aos-server/api/blueprints/{blueprint-id}/nodes/{interface-node-id}.
Petición:
{ "description": "facing_dkl-2-leaf:Ethernet1/2", "mlag_id": null, "tags": null, "if_name": "swp2", "label": null, "port_channel_id": null, "ipv4_addr": "203.0.113.10/31", "mode": null, "if_type": "ip", "type": "interface", "id": "interface-id-1", "protocols": "ebgp" }
API: crear o modificar la descripción de la interfaz
Para crear o modificar la descripción de interfaz, envíe la solicitud PATCH a https://aos-server/api/blueprints/{blueprint-id}/nodes/{interface-node-id} con un JSON válido. El JSON debe contener el campo "descripción" con datos válidos.
curl -X PATCH -H "AuthToken: EXAMPLE" \ -d '{"description": "New description I want!"}' http://aos-server:8888/api/blueprints/id-1/nodes/interface-id-1
Respuesta:
{ "description": "New description I want!", "mlag_id": null, "tags": null, "if_name": null, "label": null, "port_channel_id": null, "ipv4_addr": null, "mode": null, "if_type": "ip", "type": "interface", "id": "interface-id-1", "protocols": "ebgp" }
API: eliminar la descripción de la interfaz
Para eliminar la descripción de interfaz personalizada y volver a la generación automática de descripción, establezca la descripción en valor vacío.
Petición:
curl -X PATCH -H "AuthToken: EXAMPLE" \ -d '{"description": ""}' http://aos-server:8888/api/blueprints/id-1/nodes/interface-id-1
Respuesta:
{ "description": "", "mlag_id": null, "tags": null, "if_name": null, "label": null, "port_channel_id": null, "ipv4_addr": null, "mode": null, "if_type": "ip", "type": "interface", "id": "interface-id-1", "protocols": "ebgp" }
La solicitud GET posterior mostrará que la descripción se generó automáticamente.
Petición:
curl -H "AuthToken: EXAMPLE" \ http://aos-server:8888/api/blueprints/id-1/nodes/interface-id-1
Respuesta:
{ "description": "facing_dkl-2-leaf:Ethernet1/2", "mlag_id": null, "tags": null, "if_name": "swp2", "label": null, "port_channel_id": null, "ipv4_addr": "203.0.113.10/31", "mode": null, "if_type": "ip", "type": "interface", "id": "interface-id-1", "protocols": "ebgp" }