cisco.ios.ios_interfaces – Interfaces resource module¶
Note
This plugin is part of the cisco.ios collection (version 1.3.0).
To install it use: ansible-galaxy collection install cisco.ios
.
To use it in a playbook, specify: cisco.ios.ios_interfaces
.
New in version 1.0.0: of cisco.ios
Synopsis¶
This module manages the interface attributes of Cisco IOS network devices.
Note
This module has a corresponding action plugin.
Parameters¶
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
cisco.ios.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
cisco.ios.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
cisco.ios.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)"
cisco.ios.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)"
cisco.ios.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
# Using Gathered
# Before state:
# -------------
#
# vios#sh running-config | section ^interface
# interface GigabitEthernet0/1
# description this is interface1
# mtu 65
# duplex auto
# speed 10
# interface GigabitEthernet0/2
# description this is interface2
# mtu 110
# shutdown
# duplex auto
# speed 100
- name: Gather listed interfaces with provided configurations
cisco.ios.ios_interfaces:
config:
state: gathered
# Module Execution Result:
# ------------------------
#
# "gathered": [
# {
# "description": "this is interface1",
# "duplex": "auto",
# "enabled": true,
# "mtu": 65,
# "name": "GigabitEthernet0/1",
# "speed": "10"
# },
# {
# "description": "this is interface2",
# "duplex": "auto",
# "enabled": false,
# "mtu": 110,
# "name": "GigabitEthernet0/2",
# "speed": "100"
# }
# ]
# After state:
# ------------
#
# vios#sh running-config | section ^interface
# interface GigabitEthernet0/1
# description this is interface1
# mtu 65
# duplex auto
# speed 10
# interface GigabitEthernet0/2
# description this is interface2
# mtu 110
# shutdown
# duplex auto
# speed 100
# Using Rendered
- name: Render the commands for provided configuration
cisco.ios.ios_interfaces:
config:
- name: GigabitEthernet0/1
description: Configured by Ansible-Network
mtu: 110
enabled: true
duplex: half
- name: GigabitEthernet0/2
description: Configured by Ansible-Network
mtu: 2800
enabled: false
speed: 100
duplex: full
state: rendered
# Module Execution Result:
# ------------------------
#
# "rendered": [
# "interface GigabitEthernet0/1",
# "description Configured by Ansible-Network",
# "mtu 110",
# "duplex half",
# "no shutdown",
# "interface GigabitEthernet0/2",
# "description Configured by Ansible-Network",
# "mtu 2800",
# "speed 100",
# "duplex full",
# "shutdown"
# Using Parsed
# File: parsed.cfg
# ----------------
#
# interface GigabitEthernet0/1
# description interfaces 0/1
# mtu 110
# duplex half
# no shutdown
# interface GigabitEthernet0/2
# description interfaces 0/2
# mtu 2800
# speed 100
# duplex full
# shutdown
- name: Parse the commands for provided configuration
cisco.ios.ios_interfaces:
running_config: "{{ lookup('file', 'parsed.cfg') }}"
state: parsed
# Module Execution Result:
# ------------------------
#
# "parsed": [
# {
# "description": "interfaces 0/1",
# "duplex": "half",
# "enabled": true,
# "mtu": 110,
# "name": "GigabitEthernet0/1"
# },
# {
# "description": "interfaces 0/2",
# "duplex": "full",
# "enabled": true,
# "mtu": 2800,
# "name": "GigabitEthernet0/2",
# "speed": "100"
# }
# ]
Return Values¶
Common return values are documented here, the following are the fields unique to this module:
Authors¶
Sumit Jaiswal (@justjais)