Device Configuration Parameters
Each configured device may have the following parameters:
Parameter | Type | Default Value | Description |
---|---|---|---|
name | String | Display name of the device. | |
description | String | Description of the device, displayed as a subtle label. | |
avatar | String | Path to an avatar/logo image for this site. Used when web.location_display_mode is set to gallery . | |
address | String | IPv4 address, IPv6 address, or hostname of the device. | |
group | String | Group name, used to visually group devices in the UI. | |
port | Number | TCP port on which to connect to the device. | |
platform | String | Device platform/OS. Must be a supported platform. | |
structured_output | Boolean | True | Disable structured output for a device that supports it. |
directives | List of Strings | Enable referenced directives configured in the directives config file. | |
driver | String | netmiko | Specify which driver to use for this device. Currently, only netmiko is supported. |
driver_config | Mapping | Mapping/dict of options to pass to the connection driver. | |
attrs | Mapping | Mapping/dict of variables, as referenced in configured directives. | |
credential | Mapping | Mapping/dict of a credential configuration. | |
http | Mapping | Mapping/dict of HTTP client options, if this device is connected via HTTP. | |
proxy | Mapping | Mapping/dict of SSH proxy config to use for this device’s requests. |
hyperglass ships with predefined directives (commands) for the following platforms:
- Arista EOS
- BIRD
- Cisco IOS
- Cisco NX-OS
- Cisco IOS-XR
- FRRouting
- Huawei VRP
- Juniper Junos
- Mikrotik
- Nokia SR OS
- OpenBGPD
- TNSR
- VyOS
All built in directives require that the following attrs
be defined on each device using the directive:
Attribute | Value |
---|---|
source4 | IPv4 address used to source Ping and Traceroute commands. |
source6 | IPv6 address used to source Ping and Traceroute commands. |
Example
devices.yaml
devices:
- name: New York, NY
address: 192.0.2.1
platform: cisco_ios
attrs:
source4: 192.0.2.1
source6: "2001:db8::1"
⚠️
If you do not utilize IPv6 in your network, you’ll need to create your own directive that only has IPv4 commands.
Examples
Simple
devices.yaml
devices:
- name: New York, NY
address: 192.0.2.1
platform: cisco_ios
credential:
username: you
password: your password
- name: San Francisco, CA
address: 192.0.2.2
platform: juniper
credential:
username: you
password: your password
In this example, an additional directive cisco-show-lldp-neighbors
is added to the built-in directives.
devices.yaml
devices:
- name: New York, NY
address: 192.0.2.1
platform: cisco_ios
credential:
username: you
password: your password
directives:
- cisco-show-lldp-neighbors
In this example, only the cisco-show-lldp-neighbors
directive will be available. Built-in directives are disabled.
devices.yaml
devices:
- name: New York, NY
address: 192.0.2.1
platform: cisco_ios
credential:
username: you
password: your password
directives:
- builtin: false
- cisco-show-lldp-neighbors
Enable Specifc Built-in Directives
In this example, only specified built-in directives are made available.
devices.yaml
devices:
- name: New York, NY
address: 192.0.2.1
platform: cisco_ios
credential:
username: you
password: your password
directives:
- builtin: [bgp_route, traceroute]