RPC 출력 포맷을 위한 Junos OS YANG 확장 이해
Junos OS는 Junos OS를 실행하는 디바이스의 운영 및 구성을 위해 XML을 기본적으로 지원합니다. Junos OS 인프라와 CLI는 XML을 사용하여 통신합니다. CLI에서 운영 명령을 실행하면 CLI는 처리를 위해 명령을 XML로 변환합니다. 처리 후 Junos OS는 출력을 XML 문서 형식으로 반환하며, CLI는 이를 다시 텍스트 형식으로 변환하여 표시합니다. 또한 원격 클라이언트 애플리케이션은 Junos OS를 실행하는 디바이스의 운영 및 구성 요청에 XML 기반 데이터 인코딩을 사용합니다.
Junos OS 출력 정의 언어(ODL)는 CLI에서 명령을 실행하거나 텍스트 형식의 RPC 출력을 요청할 때 표시되는 XML 태그 지정 데이터를 형식화된 ASCII 출력으로 변환하는 것을 정의합니다. Junos OS ODL 확장 모듈은 ODL에 대한 YANG 확장을 정의하며, 이를 사용자 지정 YANG RPC에 포함하여 XML RPC 응답을 형식화된 ASCII 출력으로 변환할 수 있습니다.
YANG RPC 문은 RPC output
작업에 대한 출력 매개 변수를 정의합니다. RPC output
문 내에 ODL 확장 문을 포함하여 RPC의 출력을 사용자 지정할 수 있습니다. 표 1 에서는 사용 가능한 문을 간략하게 설명하고, 각 문의 형식 영향에 대한 간략한 설명을 제공하며, RPC output
문 내에서 문을 정의할 수 있는 위치를 지정합니다.
데이터를 정의하는 리프 문 아래에 일부 ODL 확장 문을 포함하고, 출력 컨테이너 내 또는 CLI 형식을 정의하는 문 내의 format
다양한 수준에서 다른 ODL 확장 문을 포함합니다. 문 내의 format
문 배치에 따라 문의 범위가 결정되며, 이는 단일 필드, 한 줄의 모든 필드 또는 모든 출력 줄의 모든 필드에 적용될 수 있습니다. 문의 모든 수준에서 정의할 수 있는 문은 최상위 수준에서 format
문의 직계 하위 format
항목으로, 문 바로 아래 line
또는 문 내에 포함될 수 있습니다 field
.
Junos OS 릴리스 17.3부터 사용자 지정 RPC에 대한 CLI 형식은 확장 문 내에 junos-odl:format
정의됩니다. 이전 릴리스에서는 CLI 형식이 명령문을 포함하는 junos-odl:cli-format
컨테이너를 사용하여 정의됩니다.
문을 |
설명 |
RPC |
---|---|---|
|
RPC 응답이 여러 엔터티에 대해 동일한 정보 집합을 반환할 때 데이터의 각 반복 사이에 빈 줄을 삽입합니다. |
|
|
출력 필드에서 노드 값의 첫 번째 단어를 대문자로 표시합니다. |
|
|
바깥쪽 컨테이너가 상위 컨테이너에 대한 CLI 형식을 정의함을 나타냅니다. 형식 지정 컨테이너는 XML RPC 응답에 노드로 포함되지 않습니다. 이 문은 Junos OS 릴리스 17.3부터 사용되지 않습니다. |
컨테이너 서식 지정(최상위 수준) |
|
출력 필드에서 노드의 레이블 뒤에 콜론을 삽입합니다. 이 명령문은 명령문에 정의된 |
|
|
출력 필드에서 노드 값 뒤에 쉼표를 삽입합니다. |
|
|
출력 필드에 대응하는 노드가 누락되었을 때 표시할 텍스트를 지정합니다. |
|
|
렌더러가 노드 이름 또는 해당 내용과 관련이 없는 값을 표시하도록 지시합니다. 이 명령문은 Junos OS RPC에서만 사용되며 사용자 지정 RPC에는 포함될 수 없습니다. |
– |
|
출력 트리의 리프 노드를 형식화된 ASCII 출력의 필드에 매핑합니다. |
|
|
현재 줄이 화면보다 넓을 때 필드의 전체 내용을 다음 줄로 래핑합니다. 이 문을 생략하면 적절한 단어 분리나 일반적인 여백에 관계없이 출력이 줄 바꿈됩니다. |
|
|
필드의 값이 왼쪽으로 빈 필드로 이동하도록 합니다. 이 문을 사용하여 가장 왼쪽 필드에만 이러한 가능한 값 중 하나가 포함되도록 인접 필드 집합에 대한 상호 배타적인 후속 값을 나타냅니다. 맨 왼쪽 필드가 첫 번째 값으로 채워지지 않은 경우, 문을 포함하는 |
|
|
출력 필드에서 노드의 값 앞에 오는 레이블을 정의하면 해당 노드의 필드가 형식 지정 지침의 |
|
|
RPC Junos OS 릴리스 17.3부터 CLI 형식은 문을 포함하는 |
출력 컨테이너 또는 명령문에 대한 하위 명령문으로 사용할 수 있습니다 |
|
CLI 출력에서 헤더 행을 정의합니다. |
|
|
문에 정의된 |
|
|
CLI 출력에서 지정된 공백 수만큼 헤더 행을 제외한 모든 줄을 들여씁니다. |
|
|
리프 노드의 정의에서 문으로 |
|
|
한 줄의 출력으로 구성된 필드 그룹을 정의합니다. |
|
|
동일한 태그 이름을 가진 여러 엔터티를 내보내는 경우 동일한 줄에 여러 값을 표시합니다. |
|
|
RPC의 형식이 지정된 ASCII 출력에서 테이블에 있는 열의 배치, 정렬 및 너비를 그래픽으로 지정합니다. |
|
|
출력 필드에서 노드 값 뒤에 공백을 삽입합니다.
|
|
|
RPC 출력에 대한 형식 또는 스타일을 정의합니다. 이 명령문은 각 스타일의 이름을 정의하는 열거된 입력 매개 변수와 함께 사용합니다. 이 명령문을 적절한 스타일 이름으로 정의하여 해당 스타일에 대한 CLI 형식을 지정합니다. |
출력 컨테이너 |
|
출력 필드의 형식을 명시적으로 정의하며, 여기에는 출력 문자열과 해당 문자열 내의 노드 값 배치가 포함됩니다. 또는 를 사용하여 리프 문이 문과 |
|
|
노드의 내용이 필드의 너비를 초과하는 경우 명령문에 의해 정의된 필드 너비에 |
|
|
현재 줄이 화면보다 넓을 때 필드의 일부를 다음 줄로 래핑합니다. 이 문은 테이블의 맨 오른쪽 열에 있는 필드에만 사용해야 합니다. |
|
YANG RPC의 구조에 대한 자세한 내용은 Junos OS를 실행하는 디바이스의 YANG에서 사용자 지정 RPC 생성을 참조하십시오.
junos-odl:format
정의됩니다. 이전 릴리스에서는 CLI 형식이 명령문을 포함하는
junos-odl:cli-format
컨테이너를 사용하여 정의됩니다.