Configuration scripting

From VyOS
Jump to: navigation, search

It's possible to use operational and configuration mode commands from scripts.

Script header

#!/bin/vbash
source /opt/vyatta/etc/functions/script-template

Script body

Once you source /opt/vyatta/etc/functions/script-template, you can use all configure/set/delete/commit commands. You also can use operational mode commands, but unlike normal CLI, they **always** must be prepended with "run", whether you started a configuration session or not.

Example

#!/bin/vbash
source /opt/vyatta/etc/functions/script-template

configure
set system host-name test1
commit

run show interfaces ethernet eth0

If you want to script the configs in a language other than bash you can have your script output commands and then source them in a bash script. Here is a simple example

#!/usr/bin/env python
print "delete firewall group address-group somehosts"
print "set firewall group address-group somehosts address '1.1.1.1'"
print "set firewall group address-group somehosts address '1.1.1.2'"
#!bin/vbash
source /opt/vyatta/etc/functions/script-template

configure
source <(/config/scripts/setfirewallgroup.py)
commit