ios_interfaces – Manages interface attributes of Cisco IOS network devices
New in version 2.9.
Synopsis
- This module manages the interface attributes of Cisco IOS network devices.
Parameters
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
config list | A dictionary of interface options | ||
description string | Interface description. | ||
duplex string |
| Interface link status. Applicable for Ethernet interfaces only, either in half duplex, full duplex or in automatic state which negotiates the duplex automatically. | |
enabled boolean |
| Administrative state of the interface. Set the value to true to administratively enable the interface or false to disable it. | |
mtu integer | MTU for a specific interface. Applicable for Ethernet interfaces only. Refer to vendor documentation for valid values. | ||
name string / required | Full name of interface, e.g. GigabitEthernet0/2, loopback999. | ||
speed string | Interface link speed. Applicable for Ethernet interfaces only. | ||
state string |
| The state of the configuration after module completion |
Notes
Note
- Tested against Cisco IOSv Version 15.2 on VIRL
- This module works with connection
network_cli
. See IOS Platform Options.
Examples
--- # Using merged # Before state: # ------------- # # vios#show running-config | section ^interface # interface GigabitEthernet0/1 # description Configured by Ansible # no ip address # duplex auto # speed auto # interface GigabitEthernet0/2 # description This is test # no ip address # duplex auto # speed 1000 # interface GigabitEthernet0/3 # no ip address # duplex auto # speed auto - name: Merge provided configuration with device configuration ios_interfaces: config: - name: GigabitEthernet0/2 description: 'Configured and Merged by Ansible Network' enabled: True - name: GigabitEthernet0/3 description: 'Configured and Merged by Ansible Network' mtu: 2800 enabled: False speed: 100 duplex: full state: merged # After state: # ------------ # # vios#show running-config | section ^interface # interface GigabitEthernet0/1 # description Configured by Ansible # no ip address # duplex auto # speed auto # interface GigabitEthernet0/2 # description Configured and Merged by Ansible Network # no ip address # duplex auto # speed 1000 # interface GigabitEthernet0/3 # description Configured and Merged by Ansible Network # mtu 2800 # no ip address # shutdown # duplex full # speed 100 # Using replaced # Before state: # ------------- # # vios#show running-config | section ^interface # interface GigabitEthernet0/1 # no ip address # duplex auto # speed auto # interface GigabitEthernet0/2 # description Configured by Ansible Network # no ip address # duplex auto # speed 1000 # interface GigabitEthernet0/3 # mtu 2000 # no ip address # shutdown # duplex full # speed 100 - name: Replaces device configuration of listed interfaces with provided configuration ios_interfaces: config: - name: GigabitEthernet0/3 description: 'Configured and Replaced by Ansible Network' enabled: False duplex: auto mtu: 2500 speed: 1000 state: replaced # After state: # ------------- # # vios#show running-config | section ^interface # interface GigabitEthernet0/1 # no ip address # duplex auto # speed auto # interface GigabitEthernet0/2 # description Configured by Ansible Network # no ip address # duplex auto # speed 1000 # interface GigabitEthernet0/3 # description Configured and Replaced by Ansible Network # mtu 2500 # no ip address # shutdown # duplex full # speed 1000 # Using overridden # Before state: # ------------- # # vios#show running-config | section ^interface# # interface GigabitEthernet0/1 # description Configured by Ansible # no ip address # duplex auto # speed auto # interface GigabitEthernet0/2 # description This is test # no ip address # duplex auto # speed 1000 # interface GigabitEthernet0/3 # description Configured by Ansible # mtu 2800 # no ip address # shutdown # duplex full # speed 100 - name: Override device configuration of all interfaces with provided configuration ios_interfaces: config: - name: GigabitEthernet0/2 description: 'Configured and Overridden by Ansible Network' speed: 1000 - name: GigabitEthernet0/3 description: 'Configured and Overridden by Ansible Network' enabled: False duplex: full mtu: 2000 state: overridden # After state: # ------------- # # vios#show running-config | section ^interface # interface GigabitEthernet0/1 # no ip address # duplex auto # speed auto # interface GigabitEthernet0/2 # description Configured and Overridden by Ansible Network # no ip address # duplex auto # speed 1000 # interface GigabitEthernet0/3 # description Configured and Overridden by Ansible Network # mtu 2000 # no ip address # shutdown # duplex full # speed 100 # Using Deleted # Before state: # ------------- # # vios#show running-config | section ^interface # interface GigabitEthernet0/1 # no ip address # duplex auto # speed auto # interface GigabitEthernet0/2 # description Configured by Ansible Network # no ip address # duplex auto # speed 1000 # interface GigabitEthernet0/3 # description Configured by Ansible Network # mtu 2500 # no ip address # shutdown # duplex full # speed 1000 - name: "Delete module attributes of given interfaces (Note: This won't delete the interface itself)" ios_interfaces: config: - name: GigabitEthernet0/2 state: deleted # After state: # ------------- # # vios#show running-config | section ^interface # interface GigabitEthernet0/1 # no ip address # duplex auto # speed auto # interface GigabitEthernet0/2 # no ip address # duplex auto # speed auto # interface GigabitEthernet0/3 # description Configured by Ansible Network # mtu 2500 # no ip address # shutdown # duplex full # speed 1000 # Using Deleted without any config passed #"(NOTE: This will delete all of configured resource module attributes from each configured interface)" # Before state: # ------------- # # vios#show running-config | section ^interface # interface GigabitEthernet0/1 # no ip address # duplex auto # speed auto # interface GigabitEthernet0/2 # description Configured by Ansible Network # no ip address # duplex auto # speed 1000 # interface GigabitEthernet0/3 # description Configured by Ansible Network # mtu 2500 # no ip address # shutdown # duplex full # speed 1000 - name: "Delete module attributes of all interfaces (Note: This won't delete the interface itself)" ios_interfaces: state: deleted # After state: # ------------- # # vios#show running-config | section ^interface # interface GigabitEthernet0/1 # no ip address # duplex auto # speed auto # interface GigabitEthernet0/2 # no ip address # duplex auto # speed auto # interface GigabitEthernet0/3 # no ip address # duplex auto # speed auto
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
after list | when changed | The configuration as structured data after module completion. Sample: The configuration returned will always be in the same format of the parameters above. |
before list | always | The configuration as structured data prior to module invocation. Sample: The configuration returned will always be in the same format of the parameters above. |
commands list | always | The set of commands pushed to the remote device Sample: ['interface GigabitEthernet 0/1', 'description This is test', 'speed 100'] |
Status
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Network Team. [network]
Red Hat Support
More information about Red Hat’s support of this module is available from this Red Hat Knowledge Base article.
Authors
- Sumit Jaiswal (@justjais)
Hint
If you notice any issues in this documentation, you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/ios_interfaces_module.html