Determine commands to run upon login using .gorc¶
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.