인터페이스 설명(API)
Apstra는 이름, 속도 및 포트 모드와 같은 네트워크 인터페이스의 주요 매개 변수 외에도 물리적 인터페이스 및 어그리게이션 논리적 인터페이스(소위 포트 채널)에 대한 설명을 구성합니다. 다음 조건이 충족되면 인터페이스 설명이 자동으로 생성됩니다.
- 인터페이스가 피어에 연결됩니다.
- 인터페이스는 리프, 스파인 또는 일반 시스템에 속합니다.
- 피어 인터페이스는 이 서버에 가상 네트워크 엔드포인트가 있는 리프, 스파인 또는 일반 시스템에 속합니다.
생성된 설명에는 형식 <facing_|to.><peer-device-label>[:peer-interface-name]
이 있습니다. 예제:
- facing_spine2:이더넷1/2
- to.server1:eth0
- to.server2
이름의 접두사는 피어가 리프, 스파인 또는 외부 라우터인 경우입니다 facing_
. 피어 디바이스가 L2 또는 L3 서버인 경우 접두사입니다 to.
. 피어 인터페이스 이름 부분은 피어 디바이스가 Apstra에 의해 제어되는 경우에만 존재합니다.
Apstra REST API - 인터페이스 설명
Apstra API는 자동 생성 인터페이스 설명을 변경할 수 있습니다. 그러나 Apstra UI에는 이러한 기능이 없습니다.
인터페이스 설명에는 코드 33-126 및 "?"을 제외한 공백이 있는 ASCII 문자가 포함될 수 있으며, 이는 명령 완료로 해석됩니다. 설명 길이는 240자로 제한되며, 이는 지원되는 스위치 모델에서 가능한 가장 긴 길이입니다.
인터페이스는 특정 속성 집합의 그래프 노드로 내부적으로 저장됩니다. 설명은 이러한 속성 중 하나입니다. 설명을 수정하려면 일반 API를 사용하여 그래프 노드와 상호 작용합니다.
API - 인터페이스 구성 획득
인터페이스 구성을 얻으려면 GET 요청을 https://aos-server/api/blueprints/{blueprint-id}/nodes/{interface-node-id}로 보냅니다.
요청:
{ "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 - 인터페이스 설명 생성 또는 수정
인터페이스 설명을 생성하거나 수정하려면 유효한 JSON을 사용하여 {blueprint-id}/nodes/{interface-node-id}https://aos-server/api/blueprints/ 패치 요청을 보냅니다. JSON에는 유효한 데이터가 있는 "설명" 필드가 포함되어야 합니다.
curl -X PATCH -H "AuthToken: EXAMPLE" \ -d '{"description": "New description I want!"}' http://aos-server:8888/api/blueprints/id-1/nodes/interface-id-1
응답:
{ "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 - 인터페이스 설명 삭제
사용자 정의 인터페이스 설명을 삭제하고 자동 설명 생성으로 돌아가려면 설명을 빈 값으로 설정합니다.
요청:
curl -X PATCH -H "AuthToken: EXAMPLE" \ -d '{"description": ""}' http://aos-server:8888/api/blueprints/id-1/nodes/interface-id-1
응답:
{ "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" }
후속 GET 요청은 설명이 자동으로 생성되었음을 보여줍니다.
요청:
curl -H "AuthToken: EXAMPLE" \ http://aos-server:8888/api/blueprints/id-1/nodes/interface-id-1
응답:
{ "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" }