trigger.gorc — Determine commands to run upon login

This is used by go - Device connector 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:

    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  Use ^X to exit.

Fetching credentials from /home/jathan/.tacacsrc
foo1-abc#show clock
22:48:24.445 UTC Sat Jun 23 2012

Filters out root commands that are not explicitly allowed by ALLOWED_COMMANDS and returns the filtered list.

Parameters:cmds – A list of commands that should be filtered
Returns:filtered list of commands

Return a list of init commands for a given vendor name. In all failure cases it will return an empty list.

Parameters:vendor – A vendor name (e.g. ‘juniper’)
Returns:list of commands
trigger.gorc.parse_commands(vendor, section='init_commands', config=None)

Fetch the init commands.

  • vendors – A vendor name (e.g. ‘juniper’)
  • section – The section of the config
  • config – A parsed ConfigParser object

list of commands


Read the .gorc file

Parameters:filepath – The path to the .gorc file
Returns:A parsed ConfigParser object

Previous topic

trigger.exceptions — Trigger’s Exceptions

Next topic

trigger.netdevices — Network device metadata library

This Page