Determine commands to run upon login using .gorc
¶
This is used by ../usage/scripts/go to execute commands upon login to a device. A user may specify a list of commands to execute for each vendor. If the file is not found, or the syntax is bad, no commands will be passed to the device.
By default, only a very limited subset of root commands are allowed to be
specified within the .gorc
. Any root commands not explicitly permitted will
be filtered out prior to passing them along to the device.
The only public interface to this module is get_init_commands
.
Given a .gorc
That looks like this:
[init_commands]
cisco:
term mon
terminal length 0
show clock
This is what is returned:
>>> from trigger import gorc
>>> gorc.get_init_commands('cisco')
['term mon', 'terminal length 0', 'show clock']
You may also pass a list of commands as the init_commands
argument to the
connect
function (or a NetDevice
object’s method of the same name) to override anything specified in a user’s
.gorc
:
>>> from trigger.netdevices import NetDevices
>>> nd = NetDevices()
>>> dev = nd.find('foo1-abc')
>>> dev.connect(init_commands=['show clock', 'exit'])
Connecting to foo1-abc.net.aol.com. Use ^X to exit.
Fetching credentials from /home/jathan/.tacacsrc
foo1-abc#show clock
22:48:24.445 UTC Sat Jun 23 2012
foo1-abc#exit
>>>
For detailed instructions on how to create a .gorc
, please see Executing commands upon login.