Note
This plugin is part of the cisco.iosxr collection (version 2.5.0).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install cisco.iosxr
.
To use it in a playbook, specify: cisco.iosxr.iosxr_interface
.
New in version 1.0.0: of cisco.iosxr
major release after 2022-06-01
Newer and updated modules released with more functionality in Ansible 2.9
iosxr_interfaces
Note
This module has a corresponding action plugin.
The below requirements are needed on the host that executes this module.
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
active string |
| Whether the interface is active or preconfigured . Preconfiguration allows you to configure modular services cards before they are inserted into the router. When the cards are inserted, they are instantly configured. Active cards are the ones already inserted. | |
aggregate list / elements=dictionary | List of interfaces definition | ||
active string |
| Whether the interface is active or preconfigured . Preconfiguration allows you to configure modular services cards before they are inserted into the router. When the cards are inserted, they are instantly configured. Active cards are the ones already inserted. | |
delay integer | Time in seconds to wait before checking for the operational state on remote device. This wait is applicable for operational state argument which are state with values up /down , tx_rate and rx_rate. | ||
description string | Description of Interface being configured. | ||
duplex string |
| Configures the interface duplex mode. Default is auto-negotiation when not configured. | |
enabled boolean |
| Removes the shutdown configuration, which removes the forced administrative down on the interface, enabling it to move to an up or down state. | |
mtu string | Sets the MTU value for the interface. Range is between 64 and 65535' | ||
name string / required | Name of the interface to configure in type + path format. e.g. GigabitEthernet0/0/0/0
| ||
rx_rate string | Receiver rate in bits per second (bps). This is state check parameter only. Supports conditionals, see Conditionals in Networking Modules
| ||
speed string |
| Configure the speed for an interface. Default is auto-negotiation when not configured. | |
state string |
| State of the Interface configuration, up means present and operationally up and down means present and operationally down
| |
tx_rate string | Transmit rate in bits per second (bps). This is state check parameter only. Supports conditionals, see Conditionals in Networking Modules
| ||
delay integer | Default: 10 | Time in seconds to wait before checking for the operational state on remote device. This wait is applicable for operational state argument which are state with values up /down , tx_rate and rx_rate. | |
description string | Description of Interface being configured. | ||
duplex string |
| Configures the interface duplex mode. Default is auto-negotiation when not configured. | |
enabled boolean |
| Removes the shutdown configuration, which removes the forced administrative down on the interface, enabling it to move to an up or down state. | |
mtu string | Sets the MTU value for the interface. Range is between 64 and 65535' | ||
name string | Name of the interface to configure in type + path format. e.g. GigabitEthernet0/0/0/0
| ||
provider dictionary | Deprecated Starting with Ansible 2.5 we recommend using connection: network_cli .For more information please see the Network Guide. A dict object containing connection details. | ||
host string | Specifies the DNS host name or address for connecting to the remote device over the specified transport. The value of host is used as the destination address for the transport. | ||
password string | Specifies the password to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable ANSIBLE_NET_PASSWORD will be used instead. | ||
port integer | Specifies the port to use when building the connection to the remote device. | ||
ssh_keyfile path | Specifies the SSH key to use to authenticate the connection to the remote device. This value is the path to the key used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable ANSIBLE_NET_SSH_KEYFILE will be used instead. | ||
timeout integer | Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error. | ||
transport string |
| Specifies the type of connection based transport. | |
username string | Configures the username to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable ANSIBLE_NET_USERNAME will be used instead. | ||
rx_rate string | Receiver rate in bits per second (bps). This is state check parameter only. Supports conditionals, see Conditionals in Networking Modules
| ||
speed string |
| Configure the speed for an interface. Default is auto-negotiation when not configured. | |
state string |
| State of the Interface configuration, up means present and operationally up and down means present and operationally down
| |
tx_rate string | Transmit rate in bits per second (bps). This is state check parameter only. Supports conditionals, see Conditionals in Networking Modules
|
Note
network_cli
and netconf
. See the IOS-XR Platform Options.netconf
transport.- name: configure interface cisco.iosxr.iosxr_interface: name: GigabitEthernet0/0/0/2 description: test-interface speed: 100 duplex: half mtu: 512 - name: remove interface cisco.iosxr.iosxr_interface: name: GigabitEthernet0/0/0/2 state: absent - name: make interface up cisco.iosxr.iosxr_interface: name: GigabitEthernet0/0/0/2 enabled: true - name: make interface down cisco.iosxr.iosxr_interface: name: GigabitEthernet0/0/0/2 enabled: false - name: Create interface using aggregate cisco.iosxr.iosxr_interface: aggregate: - name: GigabitEthernet0/0/0/3 - name: GigabitEthernet0/0/0/2 speed: 100 duplex: full mtu: 512 state: present - name: Create interface using aggregate along with additional params in aggregate cisco.iosxr.iosxr_interface: aggregate: - {name: GigabitEthernet0/0/0/3, description: test-interface 3} - {name: GigabitEthernet0/0/0/2, description: test-interface 2} speed: 100 duplex: full mtu: 512 state: present - name: Delete interface using aggregate cisco.iosxr.iosxr_interface: aggregate: - name: GigabitEthernet0/0/0/3 - name: GigabitEthernet0/0/0/2 state: absent - name: Check intent arguments cisco.iosxr.iosxr_interface: name: GigabitEthernet0/0/0/5 state: up delay: 20 - name: Config + intent cisco.iosxr.iosxr_interface: name: GigabitEthernet0/0/0/5 enabled: false state: down delay: 20
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
commands list / elements=string | always (empty list when no commands to send) | The list of configuration mode commands sent to device with transport cli
Sample: ['interface GigabitEthernet0/0/0/2', 'description test-interface', 'duplex half', 'mtu 512'] |
xml list / elements=string | always (empty list when no xml rpc to send) | NetConf rpc xml sent to device with transport netconf
Sample: ['<config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0"> <interface-configurations xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-ifmgr-cfg"> <interface-configuration xc:operation="merge"> <active>act</active> <interface-name>GigabitEthernet0/0/0/0</interface-name> <description>test-interface-0</description> <mtus><mtu> <owner>GigabitEthernet</owner> <mtu>512</mtu> </mtu></mtus> <ethernet xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-drivers-media-eth-cfg"> <speed>100</speed> <duplex>half</duplex> </ethernet> </interface-configuration> </interface-configurations></config>'] |
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/cisco/iosxr/iosxr_interface_module.html