Routers often take arguments in order to perform tasks. There are two types of arguments leveraged by the routers: positional and keyword.

Positional Arguments

Positional arguments are defined by their position in a method. For example, addDevice in the DeviceRouter accepts these arguments:

addDevice(deviceName, deviceClass, **serialNumber, **zWinPassword, **osProductName, **zWinUser, **tag, **rackSlot, **hwManufacturer, **hwProductName, **collector, **zCommandPassword, **title, **manageIp, **comments, **priority, **snmpCommunity, **zCommandUsername, **groupPaths, **snmpPort, **cProperties, **zProperties, **productionState, **systemPaths, **osManufacturer, **model, **locationPath)

The first two arguments, deviceName and deviceClass, are defined by their position. The following arguments are all keyword arguments.

Keyword Arguments

Keyword arguments or kwargs are defined by a keyword in name=value format. Keyword arguments typically have a default value set and are optional.