The Ansible Cisco IOS collection includes a variety of Ansible content to help automate the management of Cisco IOS and Cisco IOS XE network appliances.
This collection has been tested against Cisco IOS XE Version 17.3 on CML.
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.
The Cisco IOS collection supports network_cli
connections.
Name | Description |
---|---|
cisco.ios.ios | Use ios cliconf to run command on Cisco IOS platform |
Name | Description |
---|---|
cisco.ios.ios_acl_interfaces | Resource module to configure ACL interfaces. |
cisco.ios.ios_acls | Resource module to configure ACLs. |
cisco.ios.ios_banner | Module to configure multiline banners. |
cisco.ios.ios_bgp | Module to configure BGP protocol settings. |
cisco.ios.ios_bgp_address_family | Resource module to configure BGP Address family. |
cisco.ios.ios_bgp_global | Resource module to configure BGP. |
cisco.ios.ios_command | Module to run commands on remote devices. |
cisco.ios.ios_config | Module to manage configuration sections. |
cisco.ios.ios_facts | Module to collect facts from remote devices. |
cisco.ios.ios_hostname | Resource module to configure hostname. |
cisco.ios.ios_interfaces | Resource module to configure interfaces. |
cisco.ios.ios_l2_interfaces | Resource module to configure L2 interfaces. |
cisco.ios.ios_l3_interfaces | Resource module to configure L3 interfaces. |
cisco.ios.ios_lacp | Resource module to configure LACP. |
cisco.ios.ios_lacp_interfaces | Resource module to configure LACP interfaces. |
cisco.ios.ios_lag_interfaces | Resource module to configure LAG interfaces. |
cisco.ios.ios_linkagg | Module to configure link aggregation groups. |
cisco.ios.ios_lldp | (deprecated, removed after 2024-06-01) Manage LLDP configuration on Cisco IOS network devices. |
cisco.ios.ios_lldp_global | Resource module to configure LLDP. |
cisco.ios.ios_lldp_interfaces | Resource module to configure LLDP interfaces. |
cisco.ios.ios_logging_global | Resource module to configure logging. |
cisco.ios.ios_ntp | (deprecated, removed after 2024-01-01) Manages core NTP configuration. |
cisco.ios.ios_ntp_global | Resource module to configure NTP. |
cisco.ios.ios_ospf_interfaces | Resource module to configure OSPF interfaces. |
cisco.ios.ios_ospfv2 | Resource module to configure OSPFv2. |
cisco.ios.ios_ospfv3 | Resource module to configure OSPFv3. |
cisco.ios.ios_ping | Tests reachability using ping from IOS switch. |
cisco.ios.ios_prefix_lists | Resource module to configure prefix lists. |
cisco.ios.ios_route_maps | Resource module to configure route maps. |
cisco.ios.ios_service | Resource module to configure service. |
cisco.ios.ios_snmp_server | Resource module to configure snmp server. |
cisco.ios.ios_static_routes | Resource module to configure static routes. |
cisco.ios.ios_system | Module to manage the system attributes. |
cisco.ios.ios_user | Module to manage the aggregates of local users. |
cisco.ios.ios_vlans | Resource module to configure VLANs. |
cisco.ios.ios_vrf | Module to configure VRF definitions. |
You can install the Cisco IOS collection with the Ansible Galaxy CLI:
ansible-galaxy collection install cisco.ios
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: cisco.ios
This collection includes network resource modules.
You can call modules by their Fully Qualified Collection Namespace (FQCN), such as cisco.ios.ios_l2_interfaces
.
The following example task replaces configuration changes in the existing configuration on a Cisco IOS network device, using the FQCN:
---
- name: Replace device configuration of specified L2 interfaces with provided configuration.
cisco.ios.ios_l2_interfaces:
config:
- name: GigabitEthernet0/2
trunk:
- allowed_vlans: 20-25,40
native_vlan: 20
pruning_vlans: 10
encapsulation: isl
state: replaced
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.
- Cisco IOS Platform Options
- Ansible Using collections for more details.
We welcome community contributions to this collection. If you find problems, please open an issue or create a PR against the Cisco IOS collection repository. See Contributing to Ansible-maintained collections for complete details.
You can also join us on:
- IRC - the
#ansible-network
libera.chat channel - Slack - https://ansiblenetwork.slack.com
See the Ansible Community Guide for details on contributing to Ansible.
This collection follows the Ansible project's Code of Conduct. Please read and familiarize yourself with this document.
Release notes are available here.
- Ansible network resources
- Ansible Collection Overview
- Ansible User guide
- Ansible Developer Guide
- Ansible Community Code of Conduct
GNU General Public License v3.0 or later.
See LICENSE to see the full text.