mirror of
https://github.com/Telecominfraproject/ols-ucentral-schema.git
synced 2025-11-18 07:15:06 +00:00
Compare commits
10 Commits
secure_htt
...
jumbo_fram
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8a4815187f | ||
|
|
5da5b090be | ||
|
|
4235960ab8 | ||
|
|
7e839b0681 | ||
|
|
b98f8a2b46 | ||
|
|
1de6cad7e8 | ||
|
|
0f9f4489d2 | ||
|
|
4d03a432c1 | ||
|
|
747ccb4993 | ||
|
|
a0fac0b3d7 |
@@ -25,6 +25,10 @@ properties:
|
|||||||
type: string
|
type: string
|
||||||
description:
|
description:
|
||||||
Stock keeping unit
|
Stock keeping unit
|
||||||
|
compatible:
|
||||||
|
type: string
|
||||||
|
description:
|
||||||
|
Compatibility string, that defines the family of the device
|
||||||
base-mac:
|
base-mac:
|
||||||
type: string
|
type: string
|
||||||
description:
|
description:
|
||||||
|
|||||||
@@ -7,7 +7,8 @@ set -x
|
|||||||
./merge-schema.py schema schema ucentral.yml ucentral.schema.pretty.json 0 1
|
./merge-schema.py schema schema ucentral.yml ucentral.schema.pretty.json 0 1
|
||||||
./merge-schema.py schema schema ucentral.yml ucentral.schema.full.json 0 0
|
./merge-schema.py schema schema ucentral.yml ucentral.schema.full.json 0 0
|
||||||
./merge-schema.py state state state.yml ucentral.state.pretty.json 0 1
|
./merge-schema.py state state state.yml ucentral.state.pretty.json 0 1
|
||||||
./generate-reader.uc > schemareader.uc
|
./merge-schema.py capabilities capabilities connect.capabilities.yml ucentral.capabilities.pretty.json 0 1
|
||||||
|
#./generate-reader.uc > schemareader.uc
|
||||||
#./generate-example.uc > input.json
|
#./generate-example.uc > input.json
|
||||||
mkdir -p docs
|
mkdir -p docs
|
||||||
which generate-schema-doc > /dev/null
|
which generate-schema-doc > /dev/null
|
||||||
|
|||||||
@@ -223,3 +223,8 @@ properties:
|
|||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
|
jumbo-frames:
|
||||||
|
description:
|
||||||
|
Enables Jumbo frames
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|||||||
@@ -1678,6 +1678,20 @@ function instantiateSwitch(location, value, errors) {
|
|||||||
obj.port_isolation = parsePortIsolation(location + "/port-isolation", value["port-isolation"], errors);
|
obj.port_isolation = parsePortIsolation(location + "/port-isolation", value["port-isolation"], errors);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function parseJumboFrames(location, value, errors) {
|
||||||
|
if (type(value) != "bool")
|
||||||
|
push(errors, [ location, "must be of type boolean" ]);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (exists(value, "jumbo-frames")) {
|
||||||
|
obj.jumbo_frames = parseJumboFrames(location + "/jumbo-frames", value["jumbo-frames"], errors);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
obj.jumbo_frames = false;
|
||||||
|
}
|
||||||
|
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ items:
|
|||||||
$ref: "https://ucentral.io/state/v1/interface/clients/"
|
$ref: "https://ucentral.io/state/v1/interface/clients/"
|
||||||
counters:
|
counters:
|
||||||
$ref: "https://ucentral.io/state/v1/interface/counter/"
|
$ref: "https://ucentral.io/state/v1/interface/counter/"
|
||||||
|
delta_counters:
|
||||||
|
$ref: "https://ucentral.io/state/v1/interface/counter/"
|
||||||
mesh-path:
|
mesh-path:
|
||||||
$ref: "https://ucentral.io/state/v1/interface/mesh-path/"
|
$ref: "https://ucentral.io/state/v1/interface/mesh-path/"
|
||||||
ssids:
|
ssids:
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ properties:
|
|||||||
- half
|
- half
|
||||||
counters:
|
counters:
|
||||||
$ref: "https://ucentral.io/state/v1/interface/counter/"
|
$ref: "https://ucentral.io/state/v1/interface/counter/"
|
||||||
|
delta_counters:
|
||||||
|
$ref: "https://ucentral.io/state/v1/interface/counter/"
|
||||||
poe:
|
poe:
|
||||||
description:
|
description:
|
||||||
This section describes the ethernet poe-port link-state object (statistics + PD info).
|
This section describes the ethernet poe-port link-state object (statistics + PD info).
|
||||||
|
|||||||
231
ucentral.capabilities.pretty.json
Normal file
231
ucentral.capabilities.pretty.json
Normal file
@@ -0,0 +1,231 @@
|
|||||||
|
{
|
||||||
|
"description": "uCentral protocol (OpenLan) device and features capabilities schema",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"serial": {
|
||||||
|
"type": "string",
|
||||||
|
"examples": [
|
||||||
|
"aabbccddeeff"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"firmware": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Platform revision",
|
||||||
|
"examples": [
|
||||||
|
"Rel 1.6 build 5"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"platform": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"Switch",
|
||||||
|
"AP"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"model": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Device model"
|
||||||
|
},
|
||||||
|
"hw-sku": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Stock keeping unit"
|
||||||
|
},
|
||||||
|
"compatible": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Compatibility string, that defines the family of the device"
|
||||||
|
},
|
||||||
|
"base-mac": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Switch MAC address",
|
||||||
|
"format": "uc-mac",
|
||||||
|
"examples": [
|
||||||
|
"aa:bb:cc:dd:ee:ff"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"port-list": {
|
||||||
|
"type": "array",
|
||||||
|
"description": "The list of physical network devices",
|
||||||
|
"items": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"name": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The logical name of the port that is used by the OS",
|
||||||
|
"examples": [
|
||||||
|
"Ethernet0",
|
||||||
|
"Ethernet1",
|
||||||
|
"Ethernet76"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"front-panel-number": {
|
||||||
|
"type": "integer",
|
||||||
|
"description": "The identification number of the port as can be seen on the front-panel of the device"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"port-capabilities": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "Description of physical ports and their form-factors",
|
||||||
|
"properties": {
|
||||||
|
"form-factors": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"RJ45",
|
||||||
|
"SFP",
|
||||||
|
"SFP+",
|
||||||
|
"SFP28",
|
||||||
|
"SFP-DD",
|
||||||
|
"QSFP",
|
||||||
|
"QSFP+",
|
||||||
|
"QSFP28",
|
||||||
|
"QSFP-DD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ports-list": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"type": {
|
||||||
|
"type": "string",
|
||||||
|
"examples": [
|
||||||
|
"RJ45"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ports": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string",
|
||||||
|
"examples": [
|
||||||
|
"Ethernet1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"poe-capabilities": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "Description of physical ports and their PoE capabilities",
|
||||||
|
"properties": {
|
||||||
|
"supported-standards": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
".3AF-POE",
|
||||||
|
".3AT-POE+",
|
||||||
|
".3BT-PoE++",
|
||||||
|
"PreStandard-Passive"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"power-budget": {
|
||||||
|
"type": "integer",
|
||||||
|
"examples": [
|
||||||
|
2000
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"poe-ports": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"type": {
|
||||||
|
"type": "string",
|
||||||
|
"examples": [
|
||||||
|
".3AF-POE"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"budget-capacity": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"ports": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string",
|
||||||
|
"examples": [
|
||||||
|
"Ethernet1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"supported-features": {
|
||||||
|
"type": "array",
|
||||||
|
"description": "List of all features supported by the device",
|
||||||
|
"items": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"VLAN",
|
||||||
|
"Port-Isolation",
|
||||||
|
"Spanning-Tree",
|
||||||
|
"Spanning-Tree-Rapid",
|
||||||
|
"Spanning-Tree-Per-VLAN",
|
||||||
|
"Spanning-Tree-Per-VLAN-Rapid",
|
||||||
|
"Spanning-Tree-MSTP",
|
||||||
|
"SVI-StaticIPv4",
|
||||||
|
"SVI-StaticIPv6",
|
||||||
|
"Interface-StaticIPv4",
|
||||||
|
"Interface-StaticIPv6",
|
||||||
|
"Routing-VRF",
|
||||||
|
"Routing-IPv4-Route-Blackhole",
|
||||||
|
"Routing-IPv4-Route-Unreachable",
|
||||||
|
"Routing-IPv4-Nexthop",
|
||||||
|
"Routing-IPv4-Broadcast",
|
||||||
|
"Routing-IPv4-Multicast-IGMP-Snooping",
|
||||||
|
"Routing-IPv4-Multicast-IGMP-Querier",
|
||||||
|
"Routing-IPv4-Multicast-IGMP-Static",
|
||||||
|
"Routing-IPv4-DHCP-Server",
|
||||||
|
"Routing-IPv4-DHCP-Relay",
|
||||||
|
"Routing-IPv4-DHCP-Snooping",
|
||||||
|
"Routing-IPv4-Port-Forward",
|
||||||
|
"Routing-IPv6-DHCP-Relay",
|
||||||
|
"Routing-IPv6-DHCP-Stateful",
|
||||||
|
"Routing-IPv6-DHCP-Stateless",
|
||||||
|
"Routing-IPv6-Port-Forward",
|
||||||
|
"PoE-Reset",
|
||||||
|
"Port-Access-Control",
|
||||||
|
"PAC-Dynamic-Auth",
|
||||||
|
"System-PasswordChange",
|
||||||
|
"System-SwUpdate",
|
||||||
|
"System-SwUpdate-Partial",
|
||||||
|
"Port-Mirroring",
|
||||||
|
"Service-SSH",
|
||||||
|
"Service-RSSH",
|
||||||
|
"Service-Telnet",
|
||||||
|
"Service-LLDP",
|
||||||
|
"Service-HTTP",
|
||||||
|
"Service-HTTPS",
|
||||||
|
"Service-GPS",
|
||||||
|
"Service-IGMP",
|
||||||
|
"Service-NTP",
|
||||||
|
"Service-MDNS",
|
||||||
|
"Service-QoS",
|
||||||
|
"Service-Syslog",
|
||||||
|
"Service-PAC",
|
||||||
|
"Service-Wireguard-Overlay",
|
||||||
|
"Service-Radius-Proxy",
|
||||||
|
"Service-Online-Check",
|
||||||
|
"Service-CaptivePortal",
|
||||||
|
"Service-PublicIpCheck",
|
||||||
|
"Tunneling-VxLAN",
|
||||||
|
"Tunneling-GRE",
|
||||||
|
"Tunneling-GRE6",
|
||||||
|
"Tunneling-L2TP",
|
||||||
|
"Tunneling-Mesh"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"$defs": {}
|
||||||
|
}
|
||||||
@@ -925,6 +925,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"jumbo-frames": {
|
||||||
|
"description": "Enables Jumbo frames",
|
||||||
|
"type": "boolean",
|
||||||
|
"default": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -678,6 +678,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"jumbo-frames": {
|
||||||
|
"type": "boolean",
|
||||||
|
"default": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -776,6 +776,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"jumbo-frames": {
|
||||||
|
"description": "Enables Jumbo frames",
|
||||||
|
"type": "boolean",
|
||||||
|
"default": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -759,6 +759,9 @@
|
|||||||
"counters": {
|
"counters": {
|
||||||
"$ref": "#/$defs/interface.counter"
|
"$ref": "#/$defs/interface.counter"
|
||||||
},
|
},
|
||||||
|
"delta_counters": {
|
||||||
|
"$ref": "#/$defs/interface.counter"
|
||||||
|
},
|
||||||
"mesh-path": {
|
"mesh-path": {
|
||||||
"$ref": "#/$defs/interface.mesh-path"
|
"$ref": "#/$defs/interface.mesh-path"
|
||||||
},
|
},
|
||||||
@@ -887,6 +890,9 @@
|
|||||||
"counters": {
|
"counters": {
|
||||||
"$ref": "#/$defs/interface.counter"
|
"$ref": "#/$defs/interface.counter"
|
||||||
},
|
},
|
||||||
|
"delta_counters": {
|
||||||
|
"$ref": "#/$defs/interface.counter"
|
||||||
|
},
|
||||||
"poe": {
|
"poe": {
|
||||||
"description": "This section describes the ethernet poe-port link-state object (statistics + PD info). Present only in case if port has any Power sourcing capabilities.",
|
"description": "This section describes the ethernet poe-port link-state object (statistics + PD info). Present only in case if port has any Power sourcing capabilities.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
|
|||||||
Reference in New Issue
Block a user