The depth query parameter
unbounded
. The default is
unbounded
, which
retrieves all child resources. 400 Bad Request
status is
returned if used for other methods or resource types.interfaces
YANG model data
without specifying the depth parameterGET /rest/restconf/data/openconfig-interfaces:interfaces HTTP/1.1 Host: 10.68.5.64
{ "openconfig-interfaces:interfaces": { "interface": [ { "config": { "description": "X440G2-24t-G4 Port 1", "enabled": true, "mtu": 1500, "name": "1", "type": "ethernetCsmacd" }, "hold-time": { "config": { "down": 0, "up": 0 }, "state": { "down": 0, "up": 0 } }, "name": "1", "openconfig-if-ethernet:ethernet": { "config": { "auto-negotiate": true, "duplex-mode": "FULL", "enable-flow-control": false, "mac-address": "00:04:96:9E:4B:80", "port-speed": "SPEED_UNKNOWN" }, "openconfig-vlan:switched-vlan": { "config": { "access-vlan": 1, "interface-mode": "ACCESS" }, "state": { "access-vlan": 1, "interface-mode": "ACCESS" } }, "state": { "auto-negotiate": true, "counters": { "in-8021q-frames": 0, "in-crc-errors": 0, "in-fragment-frames": 0, "in-jabber-frames": 0, "in-mac-control-frames": 0, "in-mac-pause-frames": 0, "in-oversize-frames": 0, "out-8021q-frames": 0, "out-mac-control-frames": 0, "out-mac-pause-frames": 0 }, "duplex-mode": "FULL", "effective-speed": 0, "enable-flow-control": false, "hw-mac-address": "00:04:96:9E:4B:80", "mac-address": "00:04:96:9E:4B:80", "negotiated-duplex-mode": "FULL", "negotiated-port-speed": "SPEED_UNKNOWN", "port-speed": "SPEED_UNKNOWN" } }, "state": { "admin-status": "UP", "counters": { "in-broadcast-pkts": 0, "in-discards": 0, "in-errors": 0, "in-multicast-pkts": 0, "in-octets": 0, "in-unicast-pkts": 0, "in-unknown-protos": 0, "last-clear": "2017-12-19T14:25:53Z", "out-broadcast-pkts": 0, "out-discards": 0, "out-errors": 0, "out-multicast-pkts": 0, "out-octets": 0, "out-unicast-pkts": 0 }, "description": "X440G2-24t-G4 Port 1", "enabled": true, "ifindex": 1001, "last-change": 0, "mtu": 1500, "name": "1", "openconfig-platform-transceiver:physical-channel": [], "openconfig-platform:hardware-port": "00:04:96:9E:4B:80", "oper-status": "DOWN", "type": "ethernetCsmacd" }, "subinterfaces": { "subinterface": [ { "config": { "description": "", "enabled": true, "index": 1000004, "name": "Default" }, "index": 1000004, "openconfig-vlan:vlan": { "config": { "vlan-id": 1 }, "state": { "vlan-id": 1 } }, "state": { "admin-status": "UP", "counters": { "in-broadcast-pkts": 0, "in-discards": 0, "in-errors": 0, "in-multicast-pkts": 0, "in-octets": 0, "in-unicast-pkts": 0, "in-unknown-protos": 0, "out-broadcast-pkts": 0, "out-discards": 0, "out-errors": 0, "out-multicast-pkts": 0, "out-octets": 0, "out-unicast-pkts": 0 }, "description": "", "enabled": true, "ifindex": 1000004, "index": 1000004, "last-change": 4400, "name": "Default", "oper-status": "DOWN" } } ] } },
This can be more detail than the management application needs. Specifying the depth parameter trims the response.
GET rest/restconf/data/openconfig-interfaces:interfaces?depth=1 HTTP/1.1 Host: 10.68.5.64
{ "openconfig-interfaces:interfaces": {} }
GET /rest/restconf/data/openconfig-interfaces:interfaces?depth=2 HTTP/1.1 Host: 10.68.5.64
{ "openconfig-interfaces:interfaces":{ "interface": {} } }
GET /rest/restconf/data/openconfig-interfaces:interfaces?depth=3 HTTP/1.1 Host: 10.68.5.64
Using depth = 3 gives you a top level listing of all the interfaces and
their types. The query runs faster on the device because it does not have to collect all the
details of the full interfaces
YANG model.
{ "openconfig-interfaces:interfaces": { "interface": [ { "config": {}, "hold-time": {}, "name": "1", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "2", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "3", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "4", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "5", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "6", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "7", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "8", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "9", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "10", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "11", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "12", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "13", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "14", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "15", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "16", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "17", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "18", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "19", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "20", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "21", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "22", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "23", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "24", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "25", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "26", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "27", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "hold-time": {}, "name": "28", "openconfig-if-ethernet:ethernet": {}, "state": {}, "subinterfaces": {} }, { "config": {}, "name": "Default", "state": {}, "subinterfaces": {} } ] } }