salt.proxy.restconf#
Proxy Minion to manage RESTCONF Devices
- codeauthor:
Jamie (Bear) Murphy <jamiemurphyit@gmail.com>
- maturity:
new
- platform:
any
Usage#
Note
To be able to use this module you need to enable RESTCONF on your device and have https enabled.
Cisco Configuration example:
switch# conf t
switch(config)# restconf
switch(config)# ip http secure-server
Note
RESTCONF requires modern OS distributions. This plugin has been written specifically to use JSON RESTCONF endpoints
Pillar#
The restconf proxy configuration requires the following parameters in order
to connect to the network switch:
- transport:
https(str) Specifies the type of connection transport to use. Valid values for the connection are
https, andhttp. The RESTCONF standard explicitly requires https, but http is included as an option as some manufacturers have ignored this requirement.- hostname: (str)
The IP address or DNS host name of the RESTCONF device.
- username: (str)
The username for the device to authenticate the RESTCONF requests.
- password: (str)
The password for the device to authenticate the RESTCONF requests.
- verify:
TrueorFalse(str, optional, default:true) Verify the RESTCONF SSL certificate?
When there is no certificate configuration on the device and this option is set as
True(default), the commands will fail with the following error:SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed.Warning
In this case, you either need to configure a proper certificate on the device (recommended), or bypass the checks setting this argument as
Falsewith all the security risks considered as you may be MITM'd.
Proxy Pillar Example#
proxy:
proxytype: restconf
host: switch1.example.com
username: example
password: example
verify: false
- salt.proxy.restconf.connection_test()#
Runs a connection test via http/https. Returns an array.
- salt.proxy.restconf.init(opts)#
Required. Initialize device config and test an initial connection
- salt.proxy.restconf.initialized()#
Connection finished initializing?
- salt.proxy.restconf.ping()#
Triggers connection test. Returns True or False
- salt.proxy.restconf.request(path, method='GET', dict_payload=None)#
Trigger http request to device
- salt.proxy.restconf.shutdown(opts)#
Closes connection with the device.