Junoscript, junos işletim sistemine sahip Juniper marka cihazların uzaktan yönetimi için kullanılan, XML tabanlı, bir betik dilidir. Üç ana bileşenden oluşmaktadır:
- Junoscript Sunucu (Server)
- Junoscript API
- Junoscript XML API
Junoscript Sunucu
Junos ile entegre bir uygulamadır. Gelen istekleri cihaz tarafında karşılar ve uygun cevapları üretir.
Junoscript API ve Junoscript XML API
Bu API ler istemci uygulaması tarafından kullanılarak betik hazırlanır ve junoscript sunucuya bağlanarak uygular.
Örnek Betikler
Herhangi bir istemci uygulaması kullanmadan betikleri test etmek için "junoscript interactive" komutunun Juniper cihaza bağlandıktan sonra çalıştırılabilir.
Şasi bilgilerini getiren betik
junoscript interactive
<?xml version="1.0" encoding="us-ascii"?>
<junoscript version="1.0" release="8.4R1.13">
<rpc>
<get-chassis-inventory>
<detail/>
</get-chassis-inventory>
</rpc>
Bir arayüzü kapatan betik<?xml version="1.0" encoding="us-ascii"?>
<junoscript version="1.0" release="8.4R1.13">
<rpc>
<get-chassis-inventory>
<detail/>
</get-chassis-inventory>
</rpc>
junoscript interactive
<!-- komut -->
<?xml version="1.0" encoding="us-ascii"?>
<junoscript version="1.0" release="8.4R1.13">
<rpc>
<load-configuration format="text">
<configuration-text>
interfaces {
ge-0/0/0 {
delete:
disable;
}
}
</configuration-text>
</load-configuration>
</rpc>
<rpc>
<commit-configuration/>
</rpc>
Bir arayüzü açan betik<!-- komut -->
<?xml version="1.0" encoding="us-ascii"?>
<junoscript version="1.0" release="8.4R1.13">
<rpc>
<load-configuration format="text">
<configuration-text>
interfaces {
ge-0/0/0 {
delete:
disable;
}
}
</configuration-text>
</load-configuration>
</rpc>
<rpc>
<commit-configuration/>
</rpc>
junoscript interactive
<!-- komut -->
<?xml version="1.0" encoding="us-ascii"?>
<junoscript version="1.0" release="8.4R1.13">
<rpc>
<load-configuration format="text">
<configuration-text>
interfaces {
ge-0/0/0 {
disable;
}
}
</configuration-text>
</load-configuration>
</rpc>
<rpc>
<commit-configuration/>
</rpc>
<!-- komut -->
<?xml version="1.0" encoding="us-ascii"?>
<junoscript version="1.0" release="8.4R1.13">
<rpc>
<load-configuration format="text">
<configuration-text>
interfaces {
ge-0/0/0 {
disable;
}
}
</configuration-text>
</load-configuration>
</rpc>
<rpc>
<commit-configuration/>
</rpc>