Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos OS 자동화 스크립트에서 확장 기능 사용

Junos OS는 커밋, 운영, 이벤트 및 SNMP 스크립트에 사용할 수 있는 확장 기능을 제공하여 Junos OS를 실행하는 디바이스에서 스크립팅 작업을 보다 쉽게 수행할 수 있도록 지원합니다. 다음 섹션에서는 다양한 스크립트 언어에 대한 확장 함수를 가져오고 사용하는 방법을 간략하게 설명합니다.

SLAX 및 XSLT 스크립트에서 확장 기능 사용

SLAX 및 XSLT 스크립트에서 확장 함수를 사용하려면 스크립트가 스타일시트 선언에서 적절한 네임스페이스 URI( Uniform Resource Identifier )를 선언해야 합니다. Junos OS를 실행하는 디바이스에 고유한 기능을 가진 Junos OS 확장 기능은 연결된 URI http://xml.juniper.net/junos/commit-scripts/1.0와 함께 네임스페이스에 정의됩니다. SLAX 확장 기능은 연결된 URI http://xml.libslax.org/slax가 있는 네임스페이스에 정의됩니다.

SLAX 및 XSLT 스크립트는 일반적으로 또는 slax 접두사를 해당 URI에 매핑 jcs 하여 표준 XSLT 함수 및 사용자 정의 템플릿과의 이름 충돌을 방지합니다. 그런 다음, 스크립트는 확장 함수를 적절한 접두사로 한정하며, 이 접두사는 처리 중에 연결된 URI 참조로 확장됩니다.

예를 들어, 다음 SLAX 네임스페이스 문은 접두사를 자동화 스크립트에 사용되는 Junos OS 확장 기능을 정의하는 네임스페이스 URI에 매핑 jcs 합니다.

다음 SLAX 네임스페이스 문은 접두사를 slax SLAX 확장 함수를 정의하는 네임스페이스 URI에 매핑합니다.

SLAX 또는 XSLT 스크립트에서 확장 함수를 호출하려면 필수 변수 선언을 포함하고, 또는 slax:function-name() 를 사용하여 jcs:function-name() 함수를 적절하게 호출하고, 필수 또는 선택적 인수를 전달합니다. 인수는 함수 정의에 지정된 정확한 순서로 함수에 전달되어야 합니다. 이는 매개 변수가 이름으로 할당되고 어떤 순서로든 나타날 수 있는 템플릿과 다릅니다. 확장 함수의 반환 값은 항상 변수에 할당되거나 출력으로 지정되어야 합니다.

다음 예제에서는 접두사를 jcs URI http://xml.juniper.net/junos/commit-scripts/1.0로 식별된 네임스페이스에 매핑합니다. 그런 다음 스크립트는 하나의 인수를 jcs:invoke() 사용하여 함수를 호출합니다.

XSLT 구문

SLAX 구문

다음 예제에서는 접두사를 slax URI http://xml.libslax.org/slax로 식별된 네임스페이스에 매핑합니다. 그런 다음 스크립트는 하나의 문자열 인수를 slax:get-input() 사용하여 함수를 호출합니다.

SLAX 구문

Python 스크립트에서 확장 함수 사용

모듈을 가져오는 Python 자동화 스크립트는 jcs 지원되는 Junos OS 및 SLAX 확장 기능의 Python 버전을 사용할 수 있습니다. Python 스크립트에서 지원되는 확장 함수를 결정하려면 Junos OS 자동화 스크립트의 확장 함수 이해를 참조하십시오.

Python 스크립트에서 동등한 확장 함수를 호출하려면 먼저 문과 필수 변수 선언을 포함합니다 import jcs . 그런 다음 를 사용하여 jcs.function_name()함수를 호출하고 필수 또는 선택적 인수를 전달합니다. Python 스크립트에서 확장 함수 이름은 하이픈 대신 밑줄을 사용해야 합니다. 예를 들어:

파이썬 구문