Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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 컨테이너를 사용하여 정의됩니다.

표 1: Junos OS ODL 확장 모듈의 문

문을

설명

RPC output 문 내 배치

blank-line

RPC 응답이 여러 엔터티에 대해 동일한 정보 집합을 반환할 때 데이터의 각 반복 사이에 빈 줄을 삽입합니다.

format 문 (최상 위)

capitalize

출력 필드에서 노드 값의 첫 번째 단어를 대문자로 표시합니다.

format 문(모든 수준)

cli-format

바깥쪽 컨테이너가 상위 컨테이너에 대한 CLI 형식을 정의함을 나타냅니다. 형식 지정 컨테이너는 XML RPC 응답에 노드로 포함되지 않습니다.

이 문은 Junos OS 릴리스 17.3부터 사용되지 않습니다. format 대신 문을 사용합니다.

컨테이너 서식 지정(최상위 수준)

colon

출력 필드에서 노드의 레이블 뒤에 콜론을 삽입합니다.

이 명령문은 명령문에 정의된 formal-name 대로 노드의 공식 이름을 삽입하기 위해 명령문과 함께 leading 사용되며, 출력 필드에서 노드 값 앞에 콜론을 삽입합니다.

format 문(모든 수준)

comma

출력 필드에서 노드 값 뒤에 쉼표를 삽입합니다.

format 문(모든 수준)

default-text

출력 필드에 대응하는 노드가 누락되었을 때 표시할 텍스트를 지정합니다.

field 문을

explicit

렌더러가 노드 이름 또는 해당 내용과 관련이 없는 값을 표시하도록 지시합니다. 이 명령문은 Junos OS RPC에서만 사용되며 사용자 지정 RPC에는 포함될 수 없습니다.

field

출력 트리의 리프 노드를 형식화된 ASCII 출력의 필드에 매핑합니다.

line 문을

fieldwrap

현재 줄이 화면보다 넓을 때 필드의 전체 내용을 다음 줄로 래핑합니다. 이 문을 생략하면 적절한 단어 분리나 일반적인 여백에 관계없이 출력이 줄 바꿈됩니다.

field 문을

float

필드의 값이 왼쪽으로 빈 필드로 이동하도록 합니다.

이 문을 사용하여 가장 왼쪽 필드에만 이러한 가능한 값 중 하나가 포함되도록 인접 필드 집합에 대한 상호 배타적인 후속 값을 나타냅니다. 맨 왼쪽 필드가 첫 번째 값으로 채워지지 않은 경우, 문을 포함하는 float 후속 필드에 매핑된 값이 빈 필드로 이동할 수 있습니다.

field 문을

formal-name

출력 필드에서 노드의 값 앞에 오는 레이블을 정의하면 해당 노드의 필드가 형식 지정 지침의 leading 문을 포함할 때마다 정의됩니다.

leaf 노드

format

RPC output 문 내에서 상위 컨테이너에 대한 CLI 형식을 정의합니다.

Junos OS 릴리스 17.3부터 CLI 형식은 문을 포함하는 cli-format 컨테이너 내에서가 아니라 문 내에서 format 정의됩니다.

출력 컨테이너 또는 명령문에 대한 하위 명령문으로 사용할 수 있습니다 style .

header

CLI 출력에서 헤더 행을 정의합니다.

format 문(최상위)

header-group

문에 정의된 header 첫 번째 헤더 문자열만 해당 헤더 그룹의 CLI 출력에서 내보내야 합니다.

format 문(최상위)

indent

CLI 출력에서 지정된 공백 수만큼 헤더 행을 제외한 모든 줄을 들여씁니다.

format 문(최상위)

leading

리프 노드의 정의에서 문으로 formal-name 정의된 레이블을 출력 필드의 노드 값 앞에 삽입합니다.

format 문(모든 수준)

line

한 줄의 출력으로 구성된 필드 그룹을 정의합니다.

format 문(최상위)

no-line-break

동일한 태그 이름을 가진 여러 엔터티를 내보내는 경우 동일한 줄에 여러 값을 표시합니다.

format 문(최상위)

picture

RPC의 형식이 지정된 ASCII 출력에서 테이블에 있는 열의 배치, 정렬 및 너비를 그래픽으로 지정합니다.

format 문(최상위)

space

출력 필드에서 노드 값 뒤에 공백을 삽입합니다.

space 명령문이 명령문과 comma 함께 사용되면 출력은 쉼표를 삽입한 다음 노드 값 뒤에 공백을 순서대로 삽입합니다.

format 문(모든 수준)

style

RPC 출력에 대한 형식 또는 스타일을 정의합니다.

이 명령문은 각 스타일의 이름을 정의하는 열거된 입력 매개 변수와 함께 사용합니다. 이 명령문을 적절한 스타일 이름으로 정의하여 해당 스타일에 대한 CLI 형식을 지정합니다.

출력 컨테이너

template

출력 필드의 형식을 명시적으로 정의하며, 여기에는 출력 문자열과 해당 문자열 내의 노드 값 배치가 포함됩니다. 또는 를 사용하여 %s 출력 문자열 내에서 노드의 문자열 또는 %d 정수 값의 배치를 각각 나타냅니다.

리프 문이 문과 formal-name 문을 모두 정의하고 해당 필드의 형식 지정 지침에 문이 포함된 leading 경우, 출력에는 문에 대해 정의된 텍스트가 아니라 문 templateformal-name template 대해 정의된 텍스트가 표시됩니다.

leaf 노드

truncate

노드의 내용이 필드의 너비를 초과하는 경우 명령문에 의해 정의된 필드 너비에 picture 맞게 노드의 값을 자릅니다.

field 문을

wordwrap

현재 줄이 화면보다 넓을 때 필드의 일부를 다음 줄로 래핑합니다. 이 문은 테이블의 맨 오른쪽 열에 있는 필드에만 사용해야 합니다.

field 문을

YANG RPC의 구조에 대한 자세한 내용은 Junos OS를 실행하는 디바이스의 YANG에서 사용자 지정 RPC 생성을 참조하십시오.

릴리스 기록 테이블
릴리스
설명
17.3R1
Junos OS 릴리스 17.3부터 사용자 지정 RPC에 대한 CLI 형식은 확장 문 내에 junos-odl:format 정의됩니다. 이전 릴리스에서는 CLI 형식이 명령문을 포함하는 junos-odl:cli-format 컨테이너를 사용하여 정의됩니다.