invoke() Function (SLAX and XSLT)
네임 스페이스
http://xml.juniper.net/junos/commit-scripts/1.0
SLAX 구문
var $result = jcs:invoke(rpc, "no-login-logout");
XSLT 구문
<xsl:variable name="result" select="jcs:invoke(rpc)"/>
설명
로컬 디바이스에서 원격 프로시저 호출(RPC)을 호출합니다. 이 함수에는 Junos XML API RPC를 포함하는 문자열 또는 RPC를 포함하는 트리 중 하나의 인수가 필요합니다. 결과에는 태그를 포함하지 <rpc-reply>
않는 요소의 내용이 <rpc-reply>
포함됩니다. RPC를 사용하면 Junos OS 운영 모드 명령과 동등한 기능을 수행할 수 있습니다.
Python 자동화 스크립트는 Junos PyEZ API를 사용하여 로컬 또는 원격 디바이스에서 RPC를 실행할 수 있습니다.
매개 변수
rpc |
Junos XML API RPC를 포함하는 문자열 또는 RPC를 포함하는 트리. |
no-login-logout |
(선택 사항) SLAX 커밋 및 이벤트 스크립트에서 스크립트가 RPC를 실행하기 위해 루트로 로그인할 때 시스템 로그 파일에 UI_LOGIN_EVENT 및 UI_LOGOUT_EVENT 메시지를 표시하지 않습니다. |
반환 값
result |
실행된 RPC의 결과로, 요소의 내용은 |
사용 예
다음 예제에서는 스크립트가 실행될 때 명령줄에 인수가 interface
포함되어 있는지 테스트합니다. 인수가 제공되면 작동 모드 명령의 show interfaces terse
출력이 지정된 인터페이스에 대한 정보만 포함하도록 좁혀집니다.
<xsl:param name="interface"/> <xsl:variable name="rpc"> <get-interface-information> <terse/> <xsl:if test="$interface"> <interface-name> <xsl:value-of select="$interface"/> </interface-name> </xsl:if> </get-interface-information> </xsl:variable> <xsl:variable name="out" select="jcs:invoke($rpc)"/>
이 예에서 jcs:invoke()
함수는 Junos XML API RPC get-software-information
를 호출하고 수정되지 않은 출력을 변수에 sw
저장합니다.
<xsl:variable name="sw" select="jcs:invoke('get-software-information')"/>
릴리스 정보
Junos OS 릴리스 7.6에서 소개된 기능.
no-login-logout
커밋 및 이벤트 스크립트에 대한 Junos OS 릴리스 21.1R1에 매개 변수가 추가되었습니다.