Skip to content

Device

Devices represent individual IOS-XE network devices (switches, routers) that will be configured and managed. Each device is identified by a unique name and requires a management URL for connectivity.

Device configurations have the highest precedence in the configuration hierarchy, allowing you to override global and device group settings for specific devices. This provides fine-grained control while maintaining consistency across your network infrastructure.

Key device attributes:

  • name: Unique identifier for the device
  • url: Management URL for device connectivity (HTTPS/RESTCONF)
  • managed: Boolean flag to temporarily exclude devices from configuration (useful for maintenance)
  • device_groups: List of device groups this device belongs to
  • variables: Device-specific variables that override group and global variables
  • configuration: Device-specific configuration that takes highest precedence

The managed attribute can be set to false to temporarily skip a device during deployment, which is useful for maintenance windows or staged rollouts.

Diagram

Diagram

Classes

devices (iosxe)

NameTypeConstraintMandatoryDefault Value
nameStringYes
urlStringYes
managedBooleantrue, falseNotrue
versionStringNo
device_groupsListStringNo
variablesMapNo

Examples

iosxe:
devices:
# Basic device configuration
- name: Access-SW-01
url: https://10.1.1.10
managed: true
# Device with group membership and variables
- name: Core-SW-01
url: https://10.1.1.1
device_groups:
- CORE_SWITCHES
- OSPF_AREA_0
variables:
router_id: "1.1.1.1"
mgmt_vlan: 100
# Device with specific configuration override
- name: Edge-SW-01
url: https://10.1.1.20
device_groups: [ACCESS_SWITCHES]
configuration:
system:
hostname: EDGE-SWITCH-01
interfaces:
ethernets:
- type: GigabitEthernet
id: "1/0/1"
description: "Uplink to Core"
# Device temporarily excluded from management
- name: Maint-SW-01
url: https://10.1.1.99
managed: false # Skip during maintenance