mirror of
				https://github.com/Telecominfraproject/ols-ucentral-schema.git
				synced 2025-11-02 19:18:05 +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
 | 
			
		||||
    description:
 | 
			
		||||
      Stock keeping unit
 | 
			
		||||
  compatible:
 | 
			
		||||
    type: string
 | 
			
		||||
    description:
 | 
			
		||||
      Compatibility string, that defines the family of the device
 | 
			
		||||
  base-mac:
 | 
			
		||||
    type: string
 | 
			
		||||
    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.full.json 0 0
 | 
			
		||||
./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
 | 
			
		||||
mkdir -p docs
 | 
			
		||||
which generate-schema-doc > /dev/null
 | 
			
		||||
 
 | 
			
		||||
@@ -223,3 +223,8 @@ properties:
 | 
			
		||||
                  type: array
 | 
			
		||||
                  items:
 | 
			
		||||
                    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);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		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;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -38,6 +38,8 @@ items:
 | 
			
		||||
      $ref: "https://ucentral.io/state/v1/interface/clients/"
 | 
			
		||||
    counters:
 | 
			
		||||
      $ref: "https://ucentral.io/state/v1/interface/counter/"
 | 
			
		||||
    delta_counters:
 | 
			
		||||
      $ref: "https://ucentral.io/state/v1/interface/counter/"
 | 
			
		||||
    mesh-path:
 | 
			
		||||
      $ref: "https://ucentral.io/state/v1/interface/mesh-path/"
 | 
			
		||||
    ssids:
 | 
			
		||||
 
 | 
			
		||||
@@ -19,6 +19,8 @@ properties:
 | 
			
		||||
    - half
 | 
			
		||||
  counters:
 | 
			
		||||
    $ref: "https://ucentral.io/state/v1/interface/counter/"
 | 
			
		||||
  delta_counters:
 | 
			
		||||
    $ref: "https://ucentral.io/state/v1/interface/counter/"
 | 
			
		||||
  poe:
 | 
			
		||||
    description:
 | 
			
		||||
      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": {
 | 
			
		||||
                        "$ref": "#/$defs/interface.counter"
 | 
			
		||||
                    },
 | 
			
		||||
                    "delta_counters": {
 | 
			
		||||
                        "$ref": "#/$defs/interface.counter"
 | 
			
		||||
                    },
 | 
			
		||||
                    "mesh-path": {
 | 
			
		||||
                        "$ref": "#/$defs/interface.mesh-path"
 | 
			
		||||
                    },
 | 
			
		||||
@@ -887,6 +890,9 @@
 | 
			
		||||
                "counters": {
 | 
			
		||||
                    "$ref": "#/$defs/interface.counter"
 | 
			
		||||
                },
 | 
			
		||||
                "delta_counters": {
 | 
			
		||||
                    "$ref": "#/$defs/interface.counter"
 | 
			
		||||
                },
 | 
			
		||||
                "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.",
 | 
			
		||||
                    "type": "object",
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user