/cisco.ios

Ansible Network Collection for Cisco IOS

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Cisco IOS Collection

CI

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.

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.

Supported connections

The Cisco IOS collection supports network_cli connections.

Included content

Cliconf plugins

Name Description
cisco.ios.ios Use ios cliconf to run command on Cisco IOS platform

Modules

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_hostname hostname resource module
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_snmp_server snmp_server 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

Installing this collection

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

Using this collection

This collection includes network resource modules.

Using modules from the Cisco IOS collection in your playbooks

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.

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 Cisco IOS 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.