ansible-collections / cisco.iosxr

Ansible Network Collection for Cisco IOSXR
GNU General Public License v3.0
69 stars 48 forks source link
ansible-collections cisco-iosxr hacktoberfest

Cisco IOSXR Collection

CI Codecov CI

The Ansible Cisco IOSXR collection includes a variety of Ansible content to help automate the management of Cisco IOSXR network appliances.

This collection has been tested against Cisco IOS-XR version 7.0.2

Support

As a Red Hat Ansible Certified Content, this collection is entitled to support through Ansible Automation Platform (AAP).

If a support case cannot be opened with Red Hat and the collection has been obtained either from Galaxy or GitHub, there is community support available at no charge.

You can join us on #network:ansible.com room or the Ansible Forum Network Working Group.

For more information you can check the communication section below.

Communication

For more information about communication, see the Ansible communication guide.

Ansible version compatibility

This collection has been tested against following Ansible versions: >=2.15.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.

Supported connections

The Cisco IOS-XR collection supports network_cli and netconf connections. A detailed platform guide can be found here.

Included content

Cliconf plugins

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

Netconf plugins

Name Description
cisco.iosxr.iosxr Use iosxr netconf plugin to run netconf commands on Cisco IOSXR platform

Modules

Name Description
cisco.iosxr.iosxr_acl_interfaces Resource module to configure ACL interfaces.
cisco.iosxr.iosxr_acls Resource module to configure ACLs.
cisco.iosxr.iosxr_banner Module to configure multiline banners.
cisco.iosxr.iosxr_bgp_address_family Resource module to configure BGP Address family.
cisco.iosxr.iosxr_bgp_global Resource module to configure BGP.
cisco.iosxr.iosxr_bgp_neighbor_address_family Resource module to configure BGP Neighbor Address family.
cisco.iosxr.iosxr_bgp_templates Manages BGP templates resource module.
cisco.iosxr.iosxr_command Module to run commands on remote devices.
cisco.iosxr.iosxr_config Module to manage configuration sections.
cisco.iosxr.iosxr_facts Module to collect facts from remote devices.
cisco.iosxr.iosxr_hostname Resource module to configure hostname.
cisco.iosxr.iosxr_interfaces Resource module to configure interfaces.
cisco.iosxr.iosxr_l2_interfaces Resource Module to configure L2 interfaces.
cisco.iosxr.iosxr_l3_interfaces Resource module to configure L3 interfaces.
cisco.iosxr.iosxr_lacp Resource module to configure LACP.
cisco.iosxr.iosxr_lacp_interfaces Resource module to configure LACP interfaces.
cisco.iosxr.iosxr_lag_interfaces Resource module to configure LAG interfaces.
cisco.iosxr.iosxr_lldp_global Resource module to configure LLDP.
cisco.iosxr.iosxr_lldp_interfaces Resource module to configure LLDP interfaces.
cisco.iosxr.iosxr_logging_global Resource module to configure logging.
cisco.iosxr.iosxr_netconf Configures NetConf sub-system service on Cisco IOS-XR devices
cisco.iosxr.iosxr_ntp_global Resource module to configure NTP.
cisco.iosxr.iosxr_ospf_interfaces Resource module to configure OSPF interfaces.
cisco.iosxr.iosxr_ospfv2 Resource module to configure OSPFv2.
cisco.iosxr.iosxr_ospfv3 Resource module to configure OSPFv3.
cisco.iosxr.iosxr_ping Tests reachability using ping from IOSXR switch.
cisco.iosxr.iosxr_prefix_lists Resource module to configure prefix lists.
cisco.iosxr.iosxr_route_maps Resource module to configure route maps.
cisco.iosxr.iosxr_snmp_server Resource module to configure snmp server.
cisco.iosxr.iosxr_static_routes Resource module to configure static routes.
cisco.iosxr.iosxr_system Module to manage the system attributes.
cisco.iosxr.iosxr_user Module to manage the aggregates of local users.
cisco.iosxr.iosxr_vrf_address_family Resource module to configure VRF Address family.
cisco.iosxr.iosxr_vrf_global Manages global VRF configuration.

Click the Content button to see the list of content included in this collection.

Installing this collection

You can install the Cisco IOS-XR collection with the Ansible Galaxy CLI:

ansible-galaxy collection install cisco.iosxr

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.iosxr

Using this collection

This collection includes network resource modules.

Using modules from the Cisco IOSXR collection in your playbooks

You can call modules by their Fully Qualified Collection Namespace (FQCN), such as cisco.iosxr.iosxr_l2_interfaces. The following example task replaces configuration changes in the existing configuration on a Cisco IOSXR network device, using the FQCN:

---
 - name: Replace device configuration of specified L2 interfaces with provided configuration.
   cisco.iosxr.iosxr_l2_interfaces:
     config:
       - name: GigabitEthernet0/0/0/4
         native_vlan: 40
         l2transport: True
         l2protocol:
         - stp: forward
       - name: GigabitEthernet0/0/0/3.900
         q_vlan:
         - 20
         - any
     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 IOSXR 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.