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.14.0.
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 |
Cliconf plugins
Name | Description |
---|---|
ansible.netcommon.default | General purpose cliconf plugin for new platforms |
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 |
Filter plugins
Name | Description |
---|---|
ansible.netcommon.comp_type5 | The comp_type5 filter plugin. |
ansible.netcommon.hash_salt | The hash_salt filter plugin. |
ansible.netcommon.parse_cli | parse_cli filter plugin. |
ansible.netcommon.parse_cli_textfsm | parse_cli_textfsm filter plugin. |
ansible.netcommon.parse_xml | The parse_xml filter plugin. |
ansible.netcommon.pop_ace | Remove ace entries from a acl source of truth. |
ansible.netcommon.type5_pw | The type5_pw filter plugin. |
ansible.netcommon.vlan_expander | The vlan_expander filter plugin. |
ansible.netcommon.vlan_parser | The vlan_parser filter plugin. |
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_backup | Back up device configuration from network devices over network_cli |
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.
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.