[j-nsp] Running Scripts
Phil Shafer
phil at juniper.net
Tue Mar 21 09:13:30 EST 2006
"Vladimir S. Blazhkun" writes:
>Seems this is not a right way to do this. Better if you will write a
>bash/perl script which will put its output into text file. Than simple
>load whole file via 'load merge file' and than commit.
Another alternative is to use the JUNOScript API to toss config
onto the router. The API exposes a set of RPCs such as "get-configuration",
"load-configuration", and "commit-configuration" that allow you to
configure your router in a simple, programmatic manner. There are
perl libraries and docs available at:
www.juniper.net/support/junoscript/
The basics are simple (snipped from one of the examples):
my %deviceinfo = (
access => $access,
login => $login,
password => $password,
hostname => $hostname);
my $jnx = new JUNOS::Device(%deviceinfo);
die unless $jnx;
my $res = $jnx->lock_configuration();
my $err = $res->getFirstError();
die if $err;
eval {
$res = $jnx->load_configuration(
format => $config_format,
action => $load_action,
configuration => $doc);
};
die if $@;
my $err = $res->getFirstError();
die if $err;
$res = $jnx->commit_configuration();
my $err = $res->getFirstError();
die if $err;
The config can be in either text or xml format. See the docs for
more details.
Thanks,
Phil
P.s.: Yes, I'm still waiting for my first j-nsp Commit Scripts question ;^)
More information about the juniper-nsp
mailing list