File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/salt/proxy/__pycache__/nxos_api.cpython-310.pyc
Back
o ;jA � @ sv d Z ddlZddlZddlmZ dgZdZe�e�Z i Z dd� Zdd� Zd d � Z dd� Zd d� Zdd� Zddd�ZdS )a� Proxy Minion to manage Cisco Nexus Switches (NX-OS) over the NX-API .. versionadded:: 2019.2.0 Proxy module for managing Cisco Nexus switches via the NX-API. :codeauthor: Mircea Ulinic <ping@mirceaulinic.net> :maturity: new :platform: any Usage ===== .. note:: To be able to use this module you need to enable to NX-API on your switch, by executing ``feature nxapi`` in configuration mode. Configuration example: .. code-block:: bash switch# conf t switch(config)# feature nxapi To check that NX-API is properly enabled, execute ``show nxapi``. Output example: .. code-block:: bash switch# show nxapi nxapi enabled HTTPS Listen on port 443 .. note:: NX-API requires modern NXOS distributions, typically at least 7.0 depending on the hardware. Due to reliability reasons it is recommended to run the most recent version. Check https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus7000/sw/programmability/guide/b_Cisco_Nexus_7000_Series_NX-OS_Programmability_Guide/b_Cisco_Nexus_7000_Series_NX-OS_Programmability_Guide_chapter_0101.html for more details. Pillar ------ The ``nxos_api`` proxy configuration requires the following parameters in order to connect to the network switch: transport: ``https`` Specifies the type of connection transport to use. Valid values for the connection are ``http``, and ``https``. host: ``localhost`` The IP address or DNS host name of the connection device. username: ``admin`` The username to pass to the device to authenticate the NX-API connection. password The password to pass to the device to authenticate the NX-API connection. port The TCP port of the endpoint for the NX-API connection. If this keyword is not specified, the default value is automatically determined by the transport type (``80`` for ``http``, or ``443`` for ``https``). timeout: ``60`` Time in seconds to wait for the device to respond. Default: 60 seconds. verify: ``True`` Either a boolean, in which case it controls whether we verify the NX-API TLS certificate, or a string, in which case it must be a path to a CA bundle to use. Defaults to ``True``. 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 (_ssl.c:581)``. In this case, you either need to configure a proper certificate on the device (*recommended*), or bypass the checks setting this argument as ``False`` with all the security risks considered. Check https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus3000/sw/programmability/6_x/b_Cisco_Nexus_3000_Series_NX-OS_Programmability_Guide/b_Cisco_Nexus_3000_Series_NX-OS_Programmability_Guide_chapter_01.html to see how to properly configure the certificate. All the arguments may be optional, depending on your setup. Proxy Pillar Example -------------------- .. code-block:: yaml proxy: proxytype: nxos_api host: switch1.example.com username: example password: example � N)� SaltExceptionZnxos_apic C s t S )zV This Proxy Module is widely available as there are no external dependencies. )�__virtualname__� r r �G/opt/saltstack/salt/lib/python3.10/site-packages/salt/proxy/nxos_api.py�__virtual__� s r c C s� | � di �}t�|�}|�dd� |�dd�| d<