The Ansible Cisco IOS collection includes a variety of Ansible content to help automate the management of Cisco IOS network appliances.
This collection has been tested against Cisco IOSv version 15.2 on VIRL.
This collection has been tested against following Ansible versions: >=2.9.10.
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 | ACL interfaces resource module |
cisco.ios.ios_acls | ACLs resource module |
cisco.ios.ios_banner | Manage multiline banners on Cisco IOS devices |
cisco.ios.ios_bgp | Configure global BGP protocol settings on Cisco IOS. |
cisco.ios.ios_bgp_address_family | BGP Address family resource module |
cisco.ios.ios_bgp_global | Global BGP resource module |
cisco.ios.ios_command | Run commands on remote devices running Cisco IOS |
cisco.ios.ios_config | Manage Cisco IOS configuration sections |
cisco.ios.ios_facts | Collect facts from remote devices running Cisco IOS |
cisco.ios.ios_interface | (deprecated, removed after 2022-06-01) Manage Interface on Cisco IOS network devices |
cisco.ios.ios_interfaces | Interfaces resource module |
cisco.ios.ios_l2_interface | (deprecated, removed after 2022-06-01) Manage Layer-2 interface on Cisco IOS devices. |
cisco.ios.ios_l2_interfaces | L2 interfaces resource module |
cisco.ios.ios_l3_interface | (deprecated, removed after 2022-06-01) Manage Layer-3 interfaces on Cisco IOS network devices. |
cisco.ios.ios_l3_interfaces | L3 interfaces resource module |
cisco.ios.ios_lacp | LACP resource module |
cisco.ios.ios_lacp_interfaces | LACP interfaces resource module |
cisco.ios.ios_lag_interfaces | LAG interfaces resource module |
cisco.ios.ios_linkagg | Manage link aggregation groups on Cisco IOS network devices |
cisco.ios.ios_lldp | Manage LLDP configuration on Cisco IOS network devices. |
cisco.ios.ios_lldp_global | LLDP resource module |
cisco.ios.ios_lldp_interfaces | LLDP interfaces resource module |
cisco.ios.ios_logging | (deprecated, removed after 2023-06-01) Manage logging on network devices |
cisco.ios.ios_logging_global | Logging resource module |
cisco.ios.ios_ntp | Manages core NTP configuration. |
cisco.ios.ios_ntp_global | ntp_global resource module |
cisco.ios.ios_ospf_interfaces | OSPF_Interfaces resource module |
cisco.ios.ios_ospfv2 | OSPFv2 resource module |
cisco.ios.ios_ospfv3 | OSPFv3 resource module |
cisco.ios.ios_ping | Tests reachability using ping from Cisco IOS network devices |
cisco.ios.ios_prefix_lists | Prefix Lists resource module |
cisco.ios.ios_route_maps | Route maps resource module |
cisco.ios.ios_static_route | (deprecated, removed after 2022-06-01) Manage static IP routes on Cisco IOS network devices |
cisco.ios.ios_static_routes | Static routes resource module |
cisco.ios.ios_system | Manage the system attributes on Cisco IOS devices |
cisco.ios.ios_user | Manage the aggregate of local users on Cisco IOS device |
cisco.ios.ios_vlan | (deprecated, removed after 2022-06-01) Manage VLANs on IOS network devices |
cisco.ios.ios_vlans | VLANs resource module |
cisco.ios.ios_vrf | Manage the collection of VRF definitions on Cisco IOS devices |
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.