Ansible Network Collection for Common Code (netcommon)
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.grpc | Provides a persistent connection using the gRPC protocol |
ansible.netcommon.httpapi | Use httpapi to run command on network appliances |
ansible.netcommon.libssh | Run tasks using libssh for ssh connection |
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.grpc_config | Fetch configuration/state data from gRPC enabled target hosts. |
ansible.netcommon.grpc_get | Fetch configuration/state data from gRPC enabled target hosts. |
ansible.netcommon.net_get | Copy a file from a network device to Ansible Controller |
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.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:
- Ansible Using collections for more details.
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:
- IRC -
#ansible-network
irc.libera.chat channel - Slack - https://ansiblenetwork.slack.com
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
- Developing network resource modules
- Ansible network resources
- Ansible Collection overview
- Ansible User guide
- Ansible Developer guide
- Ansible Community code of conduct
Licensing
GNU General Public License v3.0 or later.
See LICENSE to see the full text.