Deprecated

Removed in None

i

Reason:I am pretty sure no one has ever tried to use these modules | Alternative:network_cli

ansible.netcommon.napalm (3.1.3) — connection

Provides persistent connection using NAPALM

| "added in version" 1.0.0 of ansible.netcommon"

Authors: Ansible Networking Team (@ansible-network)

Install collection

Install with ansible-galaxy collection install ansible.netcommon:==3.1.3


Add to requirements.yml

  collections:
    - name: ansible.netcommon
      version: 3.1.3

Description

This connection plugin provides connectivity to network devices using the NAPALM network device abstraction library. This library requires certain features to be enabled on network devices depending on the destination device operating system. The connection plugin requires C(napalm) to be installed locally on the Ansible controller.


Requirements

Inputs

    
host:
    default: inventory_hostname
    description:
    - Specifies the remote device FQDN or IP address to establish the SSH connection to.
    vars:
    - name: inventory_hostname
    - name: ansible_host

port:
    default: 22
    description:
    - Specifies the port on the remote device that listens for connections when establishing
      the SSH connection.
    env:
    - name: ANSIBLE_REMOTE_PORT
    ini:
    - key: remote_port
      section: defaults
    type: int
    vars:
    - name: ansible_port

timeout:
    default: 120
    description:
    - Sets the connection time, in seconds, for communicating with the remote device.  This
      timeout is used as the default timeout value for commands when issuing a command
      to the network CLI.  If the command does not return in timeout seconds, an error
      is generated.
    type: int

password:
    description:
    - Configures the user password used to authenticate to the remote device when first
      establishing the SSH connection.
    vars:
    - name: ansible_password
    - name: ansible_ssh_pass
    - name: ansible_ssh_password

network_os:
    description:
    - Configures the device platform network operating system.  This value is used to
      load a napalm device abstraction.
    vars:
    - name: ansible_network_os

remote_user:
    description:
    - The username used to authenticate to the remote device when the SSH connection is
      first established.  If the remote_user is not specified, the connection will use
      the username of the logged in user.
    - Can be configured from the CLI via the C(--user) or C(-u) options.
    env:
    - name: ANSIBLE_REMOTE_USER
    ini:
    - key: remote_user
      section: defaults
    vars:
    - name: ansible_user

import_modules:
    default: true
    description:
    - Reduce CPU usage and network module execution time by enabling direct execution.
      Instead of the module being packaged and executed by the shell, it will be directly
      executed by the Ansible control node using the same python interpreter as the Ansible
      process. Note- Incompatible with C(asynchronous mode). Note- Python 3 and Ansible
      2.9.16 or greater required. Note- With Ansible 2.9.x fully qualified modules names
      are required in tasks.
    env:
    - name: ANSIBLE_NETWORK_IMPORT_MODULES
    ini:
    - key: import_modules
      section: ansible_network
    type: boolean
    vars:
    - name: ansible_network_import_modules

private_key_file:
    description:
    - The private SSH key or certificate file used to authenticate to the remote device
      when first establishing the SSH connection.
    env:
    - name: ANSIBLE_PRIVATE_KEY_FILE
    ini:
    - key: private_key_file
      section: defaults
    vars:
    - name: ansible_private_key_file

host_key_auto_add:
    default: false
    description:
    - By default, Ansible will prompt the user before adding SSH keys to the known hosts
      file. By enabling this option, unknown host keys will automatically be added to
      the known hosts file.
    - Be sure to fully understand the security implications of enabling this option on
      production systems as it could create a security vulnerability.
    env:
    - name: ANSIBLE_HOST_KEY_AUTO_ADD
    ini:
    - key: host_key_auto_add
      section: paramiko_connection
    type: boolean

persistent_log_messages:
    default: false
    description:
    - This flag will enable logging the command executed and response received from target
      device in the ansible log file. For this option to work 'log_path' ansible configuration
      option is required to be set to a file path with write access.
    - Be sure to fully understand the security implications of enabling this option as
      it could create a security vulnerability by logging sensitive information in log
      file.
    env:
    - name: ANSIBLE_PERSISTENT_LOG_MESSAGES
    ini:
    - key: log_messages
      section: persistent_connection
    type: boolean
    vars:
    - name: ansible_persistent_log_messages

persistent_command_timeout:
    default: 30
    description:
    - Configures, in seconds, the amount of time to wait for a command to return from
      the remote device.  If this timer is exceeded before the command returns, the connection
      plugin will raise an exception and close.
    env:
    - name: ANSIBLE_PERSISTENT_COMMAND_TIMEOUT
    ini:
    - key: command_timeout
      section: persistent_connection
    type: int
    vars:
    - name: ansible_command_timeout

persistent_connect_timeout:
    default: 30
    description:
    - Configures, in seconds, the amount of time to wait when trying to initially establish
      a persistent connection.  If this value expires before the connection to the remote
      device is completed, the connection will fail.
    env:
    - name: ANSIBLE_PERSISTENT_CONNECT_TIMEOUT
    ini:
    - key: connect_timeout
      section: persistent_connection
    type: int
    vars:
    - name: ansible_connect_timeout