/ansible.netcommon

Ansible Network Collection for Common Code

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Ansible Network Collection for Common Code (netcommon)

CI

The Ansible ansible.netcommon collection includes common content to help automate the management of network, security, and cloud devices. This includes connection plugins, such as network_cli, httpapi, and netconf.

Ansible version compatibility

This collection has been tested against following Ansible versions: >=2.9.10.

For collections that support Ansible 2.9, please ensure you update your network_os to use the fully qualified collection name (for example, cisco.ios.ios). Plugins and modules within a collection may be tested with only specific Ansible versions. A collection may contain metadata that identifies these versions. PEP440 is the schema used to describe the versions of Ansible.

Included content

Become plugins

Name Description
ansible.netcommon.enable Switch to elevated permissions on a network device

Connection plugins

Name Description
ansible.netcommon.httpapi Use httpapi to run command on network appliances
ansible.netcommon.libssh (Tech preview) Run tasks using libssh for ssh connection
ansible.netcommon.napalm Provides persistent connection using NAPALM
ansible.netcommon.netconf Provides a persistent connection using the netconf protocol
ansible.netcommon.network_cli Use network_cli to run command on network appliances
ansible.netcommon.persistent Use a persistent unix socket for connection

Network filter plugins

Filters for working with output from network devices

Name Description
ansible.netcommon.comp_type5 ansible.netcommon comp_type5 filter plugin
ansible.netcommon.hash_salt ansible.netcommon hash_salt filter plugin
ansible.netcommon.parse_cli ansible.netcommon parse_cli filter plugin
ansible.netcommon.parse_cli_textfsm ansible.netcommon parse_cli_textfsm filter plugin
ansible.netcommon.parse_xml ansible.netcommon parse_xml filter plugin
ansible.netcommon.type5_pw ansible.netcommon type5_pw filter plugin
ansible.netcommon.vlan_expander ansible.netcommon vlan_expander filter plugin
ansible.netcommon.vlan_parser Input: Unsorted list of vlan integers

Httpapi plugins

Name Description
ansible.netcommon.restconf HttpApi Plugin for devices supporting Restconf API

Netconf plugins

Name Description
ansible.netcommon.default Use default netconf plugin to run standard netconf commands as per RFC

Modules

Name Description
ansible.netcommon.cli_command Run a cli command on cli-based network devices
ansible.netcommon.cli_config Push text based configuration to network devices over network_cli
ansible.netcommon.cli_parse Parse cli output or text using a variety of parsers
ansible.netcommon.net_banner (deprecated, removed after 2022-06-01) Manage multiline banners on network devices
ansible.netcommon.net_get Copy a file from a network device to Ansible Controller
ansible.netcommon.net_interface (deprecated, removed after 2022-06-01) Manage Interface on network devices
ansible.netcommon.net_l2_interface (deprecated, removed after 2022-06-01) Manage Layer-2 interface on network devices
ansible.netcommon.net_l3_interface (deprecated, removed after 2022-06-01) Manage L3 interfaces on network devices
ansible.netcommon.net_linkagg (deprecated, removed after 2022-06-01) Manage link aggregation groups on network devices
ansible.netcommon.net_lldp (deprecated, removed after 2022-06-01) Manage LLDP service configuration on network devices
ansible.netcommon.net_lldp_interface (deprecated, removed after 2022-06-01) Manage LLDP interfaces configuration on network devices
ansible.netcommon.net_logging (deprecated, removed after 2022-06-01) Manage logging on network devices
ansible.netcommon.net_ping Tests reachability using ping from a network device
ansible.netcommon.net_put Copy a file from Ansible Controller to a network device
ansible.netcommon.net_static_route (deprecated, removed after 2022-06-01) Manage static IP routes on network appliances (routers, switches et. al.)
ansible.netcommon.net_system (deprecated, removed after 2022-06-01) Manage the system attributes on network devices
ansible.netcommon.net_user (deprecated, removed after 2022-06-01) Manage the aggregate of local users on network device
ansible.netcommon.net_vlan (deprecated, removed after 2022-06-01) Manage VLANs on network devices
ansible.netcommon.net_vrf (deprecated, removed after 2022-06-01) Manage VRFs on network devices
ansible.netcommon.netconf_config netconf device configuration
ansible.netcommon.netconf_get Fetch configuration/state data from NETCONF enabled network devices.
ansible.netcommon.netconf_rpc Execute operations on NETCONF enabled network devices.
ansible.netcommon.network_resource Manage resource modules
ansible.netcommon.restconf_config Handles create, update, read and delete of configuration data on RESTCONF enabled devices.
ansible.netcommon.restconf_get Fetch configuration/state data from RESTCONF enabled devices.
ansible.netcommon.telnet Executes a low-down and dirty telnet command

Installing this collection

You can install the ansible.netcommon collection with the Ansible Galaxy CLI:

ansible-galaxy collection install ansible.netcommon

You can also include it in a requirements.yml file and install it with ansible-galaxy collection install -r requirements.yml, using the format:

---
collections:
  - name: ansible.netcommon

Using this collection

The most common use case for this collection is to include it as a dependency in a network device-specific collection. Use the Fully Qualified Collection Name (FQCN) when referring to content in this collection (for example, ansible.netcommon.network_cli).

See the Vyos collection for an example of this.

NOTE: For Ansible 2.9, you may not see deprecation warnings when you run your playbooks with this collection. Use this documentation to track when a module is deprecated.

See Also:

Contributing to this collection

We welcome community contributions to this collection. If you find problems, please open an issue or create a PR against the ansible.netcommon collection repository. See Contributing to Ansible-maintained collections for complete details.

You can also join us on:

See the Ansible Community Guide for details on contributing to Ansible.

Code of Conduct

This collection follows the Ansible project's Code of Conduct. Please read and familiarize yourself with this document.

Release notes

Release notes are available here

Roadmap

More information

Licensing

GNU General Public License v3.0 or later.

See LICENSE to see the full text.