Salt interfaces

Salt REST API

netapi modules provide API-centric access to Salt. Usually externally-facing services such as REST or WebSockets, XMPP, XMLRPC, etc.

In general netapi modules bind to a port and start a service. They are purposefully open-ended. A single module can be configured to run as well as multiple modules simultaneously. netapi modules are enabled by adding configuration to your Salt Master config file and then starting the salt-api daemon. Check the docs for each module to see external requirements and configuration settings.

Using the Python API

Salt is written to be completely API centric, Salt minions and master can be built directly into third party applications as a communication layer. The Salt client API is very straightforward.

A number of client command methods are available depending on the exact behavior desired.

LocalClient

LocalClient is the same interface used by the salt command-line tool on the Salt Master. Is used to send a command to Salt minions to execute execution modules and return the results to the Salt master.

Salt Caller

Caller is the same interface used by the salt-call command-line tool on the Salt minion. Importing and using LocalClient must be done on the same machine as a Salt minion and it must be done using the same user that the Salt minion is running as.