salt.proxy.cimc#

Proxy Minion interface module for managing Cisco Integrated Management Controller devices#

New in version 2018.3.0.

codeauthor:

Spencer Ervin <spencer_ervin@hotmail.com>

maturity:

new

depends:

none

platform:

unix

This proxy minion enables Cisco Integrated Management Controller devices (hereafter referred to as simply 'cimc' devices to be treated individually like a Salt Minion.

The cimc proxy leverages the XML API functionality on the Cisco Integrated Management Controller. The Salt proxy must have access to the cimc on HTTPS (tcp/443).

More in-depth conceptual reading on Proxy Minions can be found in the Proxy Minion section of Salt's documentation.

Configuration#

To use this integration proxy module, please configure the following:

Pillar#

Proxy minions get their configuration from Salt's Pillar. Every proxy must have a stanza in Pillar and a reference in the Pillar top-file that matches the ID.

proxy:
  proxytype: cimc
  host: <ip or dns name of cimc host>
  username: <cimc username>
  password: <cimc password>
  verify_ssl: True

proxytype#

The proxytype key and value pair is critical, as it tells Salt which interface to load from the proxy directory in Salt's install hierarchy, or from /srv/salt/_proxy on the Salt Master (if you have created your own proxy module, for example). To use this cimc Proxy Module, set this to cimc.

host#

The location, or ip/dns, of the cimc host. Required.

username#

The username used to login to the cimc host. Required.

password#

The password used to login to the cimc host. Required.

salt.proxy.cimc.get_config_resolver_class(cid=None, hierarchical=False)#

The configResolveClass method returns requested managed object in a given class.

salt.proxy.cimc.grains()#

Get the grains from the proxied device

salt.proxy.cimc.grains_refresh()#

Refresh the grains from the proxied device

salt.proxy.cimc.init(opts)#

This function gets called when the proxy starts up.

salt.proxy.cimc.initialized()#

Since grains are loaded in many different places and some of those places occur before the proxy can be initialized, return whether our init() function has been called

salt.proxy.cimc.logon()#

Logs into the cimc device and returns the session cookie.

salt.proxy.cimc.logout(cookie=None)#

Closes the session with the device.

salt.proxy.cimc.ping()#

Returns true if the device is reachable, else false.

salt.proxy.cimc.prepare_return(x)#

Converts the etree to dict

salt.proxy.cimc.set_config_modify(dn=None, inconfig=None, hierarchical=False)#

The configConfMo method configures the specified managed object in a single subtree (for example, DN).

salt.proxy.cimc.shutdown()#

Shutdown the connection to the proxy device. For this proxy, shutdown is a no-op.