mirror of
				https://github.com/Telecominfraproject/ols-ucentral-schema.git
				synced 2025-11-03 19:47:49 +00:00 
			
		
		
		
	Compare commits
	
		
			19 Commits
		
	
	
		
			secure_htt
			...
			link_aggre
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					bcde6a7155 | ||
| 
						 | 
					82f5eb7740 | ||
| 
						 | 
					ceccdef561 | ||
| 
						 | 
					80a598fadf | ||
| 
						 | 
					81e8cd5706 | ||
| 
						 | 
					8a4815187f | ||
| 
						 | 
					e8da89616e | ||
| 
						 | 
					5da5b090be | ||
| 
						 | 
					f9e15067ff | ||
| 
						 | 
					4235960ab8 | ||
| 
						 | 
					7e839b0681 | ||
| 
						 | 
					b98f8a2b46 | ||
| 
						 | 
					1de6cad7e8 | ||
| 
						 | 
					0f9f4489d2 | ||
| 
						 | 
					5dc634f78e | ||
| 
						 | 
					4d03a432c1 | ||
| 
						 | 
					ee945311e1 | ||
| 
						 | 
					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
 | 
			
		||||
 
 | 
			
		||||
@@ -161,3 +161,69 @@ properties:
 | 
			
		||||
        type: integer
 | 
			
		||||
        minimum: 1
 | 
			
		||||
        maximum: 4094
 | 
			
		||||
  trunk-group:
 | 
			
		||||
    description: Associates this port to a trunk or a port-channel.
 | 
			
		||||
    type: integer
 | 
			
		||||
    minimum: 1
 | 
			
		||||
    maximum: 64
 | 
			
		||||
  lacp-config:
 | 
			
		||||
    description:
 | 
			
		||||
      This section describes the 802.3ad Link Aggregation Control Protocol (LACP) configuration for the current interface.
 | 
			
		||||
    type: object
 | 
			
		||||
    properties:
 | 
			
		||||
      lacp-enable:
 | 
			
		||||
        description:
 | 
			
		||||
          Enables 802.3ad Link Aggregation Control Protocol (LACP) for the current interface.
 | 
			
		||||
        type: boolean
 | 
			
		||||
        default: false
 | 
			
		||||
      lacp-role:
 | 
			
		||||
        description:
 | 
			
		||||
          Configures the port LACP role as actor or partner.
 | 
			
		||||
        type: string
 | 
			
		||||
        enum:
 | 
			
		||||
        - actor
 | 
			
		||||
        - partner
 | 
			
		||||
        default: actor
 | 
			
		||||
      lacp-mode:
 | 
			
		||||
        description:
 | 
			
		||||
          Configures the LACP negotiation activity mode as active or passive.
 | 
			
		||||
        type: string
 | 
			
		||||
        enum:
 | 
			
		||||
        - active
 | 
			
		||||
        - passive
 | 
			
		||||
        default: passive
 | 
			
		||||
      lacp-port-admin-key:
 | 
			
		||||
        description:
 | 
			
		||||
          Configures the port's LACP administration key.
 | 
			
		||||
        type: integer
 | 
			
		||||
        minimum: 1
 | 
			
		||||
        maximum: 65535
 | 
			
		||||
        default: 1
 | 
			
		||||
      lacp-port-priority:
 | 
			
		||||
        description:
 | 
			
		||||
          Configures the LACP port priority.
 | 
			
		||||
        type: integer
 | 
			
		||||
        minimum: 1
 | 
			
		||||
        maximum: 65535
 | 
			
		||||
        default: 32768
 | 
			
		||||
      lacp-system-priority:
 | 
			
		||||
        description:
 | 
			
		||||
          Configures the LACP System priority.
 | 
			
		||||
        type: integer
 | 
			
		||||
        minimum: 1
 | 
			
		||||
        maximum: 65535
 | 
			
		||||
        default: 32768
 | 
			
		||||
      lacp-pchan-admin-key:
 | 
			
		||||
        description:
 | 
			
		||||
          Configures the port channel's LACP administration key (optional).
 | 
			
		||||
        type: integer
 | 
			
		||||
        minimum: 1
 | 
			
		||||
        maximum: 65535
 | 
			
		||||
      lacp-timeout:
 | 
			
		||||
        description:
 | 
			
		||||
          Configures the timeout to wait for the next LACP data unit.
 | 
			
		||||
        type: string
 | 
			
		||||
        enum:
 | 
			
		||||
        - short
 | 
			
		||||
        - long
 | 
			
		||||
        default: long
 | 
			
		||||
 
 | 
			
		||||
@@ -223,3 +223,20 @@ properties:
 | 
			
		||||
                  type: array
 | 
			
		||||
                  items:
 | 
			
		||||
                    type: string
 | 
			
		||||
  trunk-balance-method:
 | 
			
		||||
    description:
 | 
			
		||||
      Sets the load-distribution method among ports in aggregated links for both static and LACP based trunks.
 | 
			
		||||
    type: string
 | 
			
		||||
    enum:
 | 
			
		||||
    - dst-ip
 | 
			
		||||
    - dst-mac
 | 
			
		||||
    - src-dst-ip
 | 
			
		||||
    - src-dst-mac
 | 
			
		||||
    - src-ip
 | 
			
		||||
    - src-mac
 | 
			
		||||
    default: src-dst-mac
 | 
			
		||||
  jumbo-frames:
 | 
			
		||||
    description:
 | 
			
		||||
      Enables Jumbo frames
 | 
			
		||||
    type: boolean
 | 
			
		||||
    default: false
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										222
									
								
								schemareader.uc
									
									
									
									
									
								
							
							
						
						
									
										222
									
								
								schemareader.uc
									
									
									
									
									
								
							@@ -1044,6 +1044,197 @@ function instantiateEthernet(location, value, errors) {
 | 
			
		||||
			obj.ieee8021x = parseIeee8021x(location + "/ieee8021x", value["ieee8021x"], errors);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		function parseLacpConfig(location, value, errors) {
 | 
			
		||||
			if (type(value) == "object") {
 | 
			
		||||
				let obj = {};
 | 
			
		||||
 | 
			
		||||
				function parseLacpEnable(location, value, errors) {
 | 
			
		||||
					if (type(value) != "bool")
 | 
			
		||||
						push(errors, [ location, "must be of type boolean" ]);
 | 
			
		||||
 | 
			
		||||
					return value;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if (exists(value, "lacp-enable")) {
 | 
			
		||||
					obj.lacp_enable = parseLacpEnable(location + "/lacp-enable", value["lacp-enable"], errors);
 | 
			
		||||
				}
 | 
			
		||||
				else {
 | 
			
		||||
					obj.lacp_enable = false;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				function parseLacpRole(location, value, errors) {
 | 
			
		||||
					if (type(value) != "string")
 | 
			
		||||
						push(errors, [ location, "must be of type string" ]);
 | 
			
		||||
 | 
			
		||||
					if (!(value in [ "actor", "partner" ]))
 | 
			
		||||
						push(errors, [ location, "must be one of \"actor\" or \"partner\"" ]);
 | 
			
		||||
 | 
			
		||||
					return value;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if (exists(value, "lacp-role")) {
 | 
			
		||||
					obj.lacp_role = parseLacpRole(location + "/lacp-role", value["lacp-role"], errors);
 | 
			
		||||
				}
 | 
			
		||||
				else {
 | 
			
		||||
					obj.lacp_role = "actor";
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				function parseLacpMode(location, value, errors) {
 | 
			
		||||
					if (type(value) != "string")
 | 
			
		||||
						push(errors, [ location, "must be of type string" ]);
 | 
			
		||||
 | 
			
		||||
					if (!(value in [ "active", "passive" ]))
 | 
			
		||||
						push(errors, [ location, "must be one of \"active\" or \"passive\"" ]);
 | 
			
		||||
 | 
			
		||||
					return value;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if (exists(value, "lacp-mode")) {
 | 
			
		||||
					obj.lacp_mode = parseLacpMode(location + "/lacp-mode", value["lacp-mode"], errors);
 | 
			
		||||
				}
 | 
			
		||||
				else {
 | 
			
		||||
					obj.lacp_mode = "passive";
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				function parseLacpPortAdminKey(location, value, errors) {
 | 
			
		||||
					if (type(value) in [ "int", "double" ]) {
 | 
			
		||||
						if (value > 65535)
 | 
			
		||||
							push(errors, [ location, "must be lower than or equal to 65535" ]);
 | 
			
		||||
 | 
			
		||||
						if (value < 1)
 | 
			
		||||
							push(errors, [ location, "must be bigger than or equal to 1" ]);
 | 
			
		||||
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					if (type(value) != "int")
 | 
			
		||||
						push(errors, [ location, "must be of type integer" ]);
 | 
			
		||||
 | 
			
		||||
					return value;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if (exists(value, "lacp-port-admin-key")) {
 | 
			
		||||
					obj.lacp_port_admin_key = parseLacpPortAdminKey(location + "/lacp-port-admin-key", value["lacp-port-admin-key"], errors);
 | 
			
		||||
				}
 | 
			
		||||
				else {
 | 
			
		||||
					obj.lacp_port_admin_key = 1;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				function parseLacpPortPriority(location, value, errors) {
 | 
			
		||||
					if (type(value) in [ "int", "double" ]) {
 | 
			
		||||
						if (value > 65535)
 | 
			
		||||
							push(errors, [ location, "must be lower than or equal to 65535" ]);
 | 
			
		||||
 | 
			
		||||
						if (value < 1)
 | 
			
		||||
							push(errors, [ location, "must be bigger than or equal to 1" ]);
 | 
			
		||||
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					if (type(value) != "int")
 | 
			
		||||
						push(errors, [ location, "must be of type integer" ]);
 | 
			
		||||
 | 
			
		||||
					return value;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if (exists(value, "lacp-port-priority")) {
 | 
			
		||||
					obj.lacp_port_priority = parseLacpPortPriority(location + "/lacp-port-priority", value["lacp-port-priority"], errors);
 | 
			
		||||
				}
 | 
			
		||||
				else {
 | 
			
		||||
					obj.lacp_port_priority = 32768;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				function parseLacpSystemPriority(location, value, errors) {
 | 
			
		||||
					if (type(value) in [ "int", "double" ]) {
 | 
			
		||||
						if (value > 65535)
 | 
			
		||||
							push(errors, [ location, "must be lower than or equal to 65535" ]);
 | 
			
		||||
 | 
			
		||||
						if (value < 1)
 | 
			
		||||
							push(errors, [ location, "must be bigger than or equal to 1" ]);
 | 
			
		||||
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					if (type(value) != "int")
 | 
			
		||||
						push(errors, [ location, "must be of type integer" ]);
 | 
			
		||||
 | 
			
		||||
					return value;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if (exists(value, "lacp-system-priority")) {
 | 
			
		||||
					obj.lacp_system_priority = parseLacpSystemPriority(location + "/lacp-system-priority", value["lacp-system-priority"], errors);
 | 
			
		||||
				}
 | 
			
		||||
				else {
 | 
			
		||||
					obj.lacp_system_priority = 32768;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				function parseLacpPchanAdminKey(location, value, errors) {
 | 
			
		||||
					if (type(value) in [ "int", "double" ]) {
 | 
			
		||||
						if (value > 65535)
 | 
			
		||||
							push(errors, [ location, "must be lower than or equal to 65535" ]);
 | 
			
		||||
 | 
			
		||||
						if (value < 1)
 | 
			
		||||
							push(errors, [ location, "must be bigger than or equal to 1" ]);
 | 
			
		||||
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					if (type(value) != "int")
 | 
			
		||||
						push(errors, [ location, "must be of type integer" ]);
 | 
			
		||||
 | 
			
		||||
					return value;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if (exists(value, "lacp-pchan-admin-key")) {
 | 
			
		||||
					obj.lacp_pchan_admin_key = parseLacpPchanAdminKey(location + "/lacp-pchan-admin-key", value["lacp-pchan-admin-key"], errors);
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				function parseLacpTimeout(location, value, errors) {
 | 
			
		||||
					if (type(value) != "string")
 | 
			
		||||
						push(errors, [ location, "must be of type string" ]);
 | 
			
		||||
 | 
			
		||||
					if (!(value in [ "short", "long" ]))
 | 
			
		||||
						push(errors, [ location, "must be one of \"short\" or \"long\"" ]);
 | 
			
		||||
 | 
			
		||||
					return value;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if (exists(value, "lacp-timeout")) {
 | 
			
		||||
					obj.lacp_timeout = parseLacpTimeout(location + "/lacp-timeout", value["lacp-timeout"], errors);
 | 
			
		||||
				}
 | 
			
		||||
				else {
 | 
			
		||||
					obj.lacp_timeout = "long";
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				return obj;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if (type(value) != "object")
 | 
			
		||||
				push(errors, [ location, "must be of type object" ]);
 | 
			
		||||
 | 
			
		||||
			return value;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (exists(value, "lacp-config")) {
 | 
			
		||||
			obj.lacp_config = parseLacpConfig(location + "/lacp-config", value["lacp-config"], errors);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		function parseTrunkGroup(location, value, errors) {
 | 
			
		||||
			if (type(value) in [ "int", "double" ]) {
 | 
			
		||||
				if (value > 64)
 | 
			
		||||
					push(errors, [ location, "must be lower than or equal to 64" ]);
 | 
			
		||||
 | 
			
		||||
				if (value < 1)
 | 
			
		||||
					push(errors, [ location, "must be bigger than or equal to 1" ]);
 | 
			
		||||
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if (type(value) != "int")
 | 
			
		||||
				push(errors, [ location, "must be of type integer" ]);
 | 
			
		||||
 | 
			
		||||
			return value;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (exists(value, "trunk-group")) {
 | 
			
		||||
			obj.trunk_group = parseTrunkGroup(location + "/trunk-group", value["trunk-group"], errors);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		return obj;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -1678,6 +1869,37 @@ 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;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		function parseTrunkBalanceMethod(location, value, errors) {
 | 
			
		||||
			if (type(value) != "string")
 | 
			
		||||
				push(errors, [ location, "must be of type string" ]);
 | 
			
		||||
 | 
			
		||||
			if (!(value in [ "dst-ip", "dst-mac", "src-dst-ip", "src-dst-mac", "src-ip", "src-mac" ]))
 | 
			
		||||
				push(errors, [ location, "must be one of \"dst-ip\", \"dst-mac\", \"src-dst-ip\", \"src-dst-mac\", \"src-ip\" or \"src-mac\"" ]);
 | 
			
		||||
 | 
			
		||||
			return value;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (exists(value, "trunk-balance-method")) {
 | 
			
		||||
			obj.trunk_balance_method = parseTrunkBalanceMethod(location + "/trunk-balance-method", value["trunk-balance-method"], errors);
 | 
			
		||||
		}
 | 
			
		||||
		else {
 | 
			
		||||
			obj.trunk_balance_method = "src-dst-mac";
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		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:
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										67
									
								
								state/lacp-trunks.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								state/lacp-trunks.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,67 @@
 | 
			
		||||
type: array
 | 
			
		||||
items:
 | 
			
		||||
  type: object
 | 
			
		||||
  description:
 | 
			
		||||
    List of dynamically created trunks.
 | 
			
		||||
  properties:
 | 
			
		||||
    trunk-identifier:
 | 
			
		||||
      type: integer
 | 
			
		||||
      description:
 | 
			
		||||
        Logical identifier for the trunk. 
 | 
			
		||||
      minimum: 1
 | 
			
		||||
      maximum: 64
 | 
			
		||||
    member-port:
 | 
			
		||||
      type: string
 | 
			
		||||
      description: List of member ports under this trunk.
 | 
			
		||||
    system-priority:
 | 
			
		||||
      type: number
 | 
			
		||||
      description:
 | 
			
		||||
        LACP System priority.
 | 
			
		||||
    port-priority:
 | 
			
		||||
      type: number
 | 
			
		||||
      description:
 | 
			
		||||
        LACP port priority.
 | 
			
		||||
    port-state:
 | 
			
		||||
      type: string
 | 
			
		||||
      description:
 | 
			
		||||
        Port state.
 | 
			
		||||
    lacpdu-sent:
 | 
			
		||||
      type: number
 | 
			
		||||
      description:
 | 
			
		||||
        Number of LACP Data Units (PDUs) sent.
 | 
			
		||||
    lacpdu-recv:
 | 
			
		||||
      type: number
 | 
			
		||||
      description:
 | 
			
		||||
        Number of LACP Data Units (PDUs) received.
 | 
			
		||||
    markerpdu-sent:
 | 
			
		||||
      type: number
 | 
			
		||||
      description:
 | 
			
		||||
        Number of Marker PDUs sent.
 | 
			
		||||
    markerpdu-recv:
 | 
			
		||||
      type: number
 | 
			
		||||
      description:
 | 
			
		||||
        Number of Marker PDUs received.
 | 
			
		||||
    unknownpkt-recv:
 | 
			
		||||
      type: number
 | 
			
		||||
      description:
 | 
			
		||||
        Number of unknown packets received.
 | 
			
		||||
    illegalpkt-recv:
 | 
			
		||||
      type: number
 | 
			
		||||
      description:
 | 
			
		||||
        Number of illegal packets received.
 | 
			
		||||
    port-oper-key:
 | 
			
		||||
      type: number
 | 
			
		||||
      description:
 | 
			
		||||
        Operational key for the port.
 | 
			
		||||
    partner-oper-key:
 | 
			
		||||
      type: number
 | 
			
		||||
      description:
 | 
			
		||||
        Operational key for the partner.
 | 
			
		||||
    oper-state:
 | 
			
		||||
      type: string
 | 
			
		||||
      description:
 | 
			
		||||
        Operational state.
 | 
			
		||||
    partner-oper-state:
 | 
			
		||||
      type: string
 | 
			
		||||
      description:
 | 
			
		||||
        Operational state of the partner.
 | 
			
		||||
@@ -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).
 | 
			
		||||
 
 | 
			
		||||
@@ -54,3 +54,7 @@ properties:
 | 
			
		||||
            $ref: "https://ucentral.io/state/v1/link-state/"
 | 
			
		||||
  mac-address-list:
 | 
			
		||||
    $ref: "https://ucentral.io/state/v1/mac-address-list/"
 | 
			
		||||
  static-trunks:
 | 
			
		||||
    $ref: "https://ucentral.io/state/v1/static-trunks/"
 | 
			
		||||
  lacp-trunks:
 | 
			
		||||
    $ref: "https://ucentral.io/state/v1/lacp-trunks/"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										18
									
								
								state/static-trunks.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								state/static-trunks.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
type: array
 | 
			
		||||
items:
 | 
			
		||||
  type: object
 | 
			
		||||
  description:
 | 
			
		||||
    List of statically created trunks.
 | 
			
		||||
  properties:
 | 
			
		||||
    trunk-identifier:
 | 
			
		||||
      type: integer
 | 
			
		||||
      description:
 | 
			
		||||
        Logical identifier for the trunk.
 | 
			
		||||
      minimum: 1
 | 
			
		||||
      maximum: 64
 | 
			
		||||
    member-ports:
 | 
			
		||||
      type: array
 | 
			
		||||
      description:
 | 
			
		||||
        List of member ports under this static trunk.
 | 
			
		||||
      items:
 | 
			
		||||
        type: string
 | 
			
		||||
							
								
								
									
										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": {}
 | 
			
		||||
}
 | 
			
		||||
@@ -685,6 +685,77 @@
 | 
			
		||||
                                "maximum": 4094
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    },
 | 
			
		||||
                    "trunk-group": {
 | 
			
		||||
                        "description": "Associates this port to a trunk or a port-channel.",
 | 
			
		||||
                        "type": "integer",
 | 
			
		||||
                        "minimum": 1,
 | 
			
		||||
                        "maximum": 64
 | 
			
		||||
                    },
 | 
			
		||||
                    "lacp-config": {
 | 
			
		||||
                        "description": "This section describes the 802.3ad Link Aggregation Control Protocol (LACP) configuration for the current interface.",
 | 
			
		||||
                        "type": "object",
 | 
			
		||||
                        "properties": {
 | 
			
		||||
                            "lacp-enable": {
 | 
			
		||||
                                "description": "Enables 802.3ad Link Aggregation Control Protocol (LACP) for the current interface.",
 | 
			
		||||
                                "type": "boolean",
 | 
			
		||||
                                "default": false
 | 
			
		||||
                            },
 | 
			
		||||
                            "lacp-role": {
 | 
			
		||||
                                "description": "Configures the port LACP role as actor or partner.",
 | 
			
		||||
                                "type": "string",
 | 
			
		||||
                                "enum": [
 | 
			
		||||
                                    "actor",
 | 
			
		||||
                                    "partner"
 | 
			
		||||
                                ],
 | 
			
		||||
                                "default": "actor"
 | 
			
		||||
                            },
 | 
			
		||||
                            "lacp-mode": {
 | 
			
		||||
                                "description": "Configures the LACP negotiation activity mode as active or passive.",
 | 
			
		||||
                                "type": "string",
 | 
			
		||||
                                "enum": [
 | 
			
		||||
                                    "active",
 | 
			
		||||
                                    "passive"
 | 
			
		||||
                                ],
 | 
			
		||||
                                "default": "passive"
 | 
			
		||||
                            },
 | 
			
		||||
                            "lacp-port-admin-key": {
 | 
			
		||||
                                "description": "Configures the port's LACP administration key.",
 | 
			
		||||
                                "type": "integer",
 | 
			
		||||
                                "minimum": 1,
 | 
			
		||||
                                "maximum": 65535,
 | 
			
		||||
                                "default": 1
 | 
			
		||||
                            },
 | 
			
		||||
                            "lacp-port-priority": {
 | 
			
		||||
                                "description": "Configures the LACP port priority.",
 | 
			
		||||
                                "type": "integer",
 | 
			
		||||
                                "minimum": 1,
 | 
			
		||||
                                "maximum": 65535,
 | 
			
		||||
                                "default": 32768
 | 
			
		||||
                            },
 | 
			
		||||
                            "lacp-system-priority": {
 | 
			
		||||
                                "description": "Configures the LACP System priority.",
 | 
			
		||||
                                "type": "integer",
 | 
			
		||||
                                "minimum": 1,
 | 
			
		||||
                                "maximum": 65535,
 | 
			
		||||
                                "default": 32768
 | 
			
		||||
                            },
 | 
			
		||||
                            "lacp-pchan-admin-key": {
 | 
			
		||||
                                "description": "Configures the port channel's LACP administration key (optional).",
 | 
			
		||||
                                "type": "integer",
 | 
			
		||||
                                "minimum": 1,
 | 
			
		||||
                                "maximum": 65535
 | 
			
		||||
                            },
 | 
			
		||||
                            "lacp-timeout": {
 | 
			
		||||
                                "description": "Configures the timeout to wait for the next LACP data unit.",
 | 
			
		||||
                                "type": "string",
 | 
			
		||||
                                "enum": [
 | 
			
		||||
                                    "short",
 | 
			
		||||
                                    "long"
 | 
			
		||||
                                ],
 | 
			
		||||
                                "default": "long"
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
@@ -925,6 +996,23 @@
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                },
 | 
			
		||||
                "trunk-balance-method": {
 | 
			
		||||
                    "description": "Sets the load-distribution method among ports in aggregated links for both static and LACP based trunks.",
 | 
			
		||||
                    "type": "string",
 | 
			
		||||
                    "enum": [
 | 
			
		||||
                        "dst-ip",
 | 
			
		||||
                        "dst-mac",
 | 
			
		||||
                        "src-dst-ip",
 | 
			
		||||
                        "src-dst-mac",
 | 
			
		||||
                        "src-ip",
 | 
			
		||||
                        "src-mac"
 | 
			
		||||
                    ],
 | 
			
		||||
                    "default": "src-dst-mac"
 | 
			
		||||
                "jumbo-frames": {
 | 
			
		||||
                    "description": "Enables Jumbo frames",
 | 
			
		||||
                    "type": "boolean",
 | 
			
		||||
                    "default": false
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
 
 | 
			
		||||
@@ -477,6 +477,67 @@
 | 
			
		||||
                            "maximum": 4094
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                },
 | 
			
		||||
                "trunk-group": {
 | 
			
		||||
                    "type": "integer",
 | 
			
		||||
                    "minimum": 1,
 | 
			
		||||
                    "maximum": 64
 | 
			
		||||
                },
 | 
			
		||||
                "lacp-config": {
 | 
			
		||||
                    "type": "object",
 | 
			
		||||
                    "properties": {
 | 
			
		||||
                        "lacp-enable": {
 | 
			
		||||
                            "type": "boolean",
 | 
			
		||||
                            "default": false
 | 
			
		||||
                        },
 | 
			
		||||
                        "lacp-role": {
 | 
			
		||||
                            "type": "string",
 | 
			
		||||
                            "enum": [
 | 
			
		||||
                                "actor",
 | 
			
		||||
                                "partner"
 | 
			
		||||
                            ],
 | 
			
		||||
                            "default": "actor"
 | 
			
		||||
                        },
 | 
			
		||||
                        "lacp-mode": {
 | 
			
		||||
                            "type": "string",
 | 
			
		||||
                            "enum": [
 | 
			
		||||
                                "active",
 | 
			
		||||
                                "passive"
 | 
			
		||||
                            ],
 | 
			
		||||
                            "default": "passive"
 | 
			
		||||
                        },
 | 
			
		||||
                        "lacp-port-admin-key": {
 | 
			
		||||
                            "type": "integer",
 | 
			
		||||
                            "minimum": 1,
 | 
			
		||||
                            "maximum": 65535,
 | 
			
		||||
                            "default": 1
 | 
			
		||||
                        },
 | 
			
		||||
                        "lacp-port-priority": {
 | 
			
		||||
                            "type": "integer",
 | 
			
		||||
                            "minimum": 1,
 | 
			
		||||
                            "maximum": 65535,
 | 
			
		||||
                            "default": 32768
 | 
			
		||||
                        },
 | 
			
		||||
                        "lacp-system-priority": {
 | 
			
		||||
                            "type": "integer",
 | 
			
		||||
                            "minimum": 1,
 | 
			
		||||
                            "maximum": 65535,
 | 
			
		||||
                            "default": 32768
 | 
			
		||||
                        },
 | 
			
		||||
                        "lacp-pchan-admin-key": {
 | 
			
		||||
                            "type": "integer",
 | 
			
		||||
                            "minimum": 1,
 | 
			
		||||
                            "maximum": 65535
 | 
			
		||||
                        },
 | 
			
		||||
                        "lacp-timeout": {
 | 
			
		||||
                            "type": "string",
 | 
			
		||||
                            "enum": [
 | 
			
		||||
                                "short",
 | 
			
		||||
                                "long"
 | 
			
		||||
                            ],
 | 
			
		||||
                            "default": "long"
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
@@ -678,6 +739,22 @@
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                },
 | 
			
		||||
                "trunk-balance-method": {
 | 
			
		||||
                    "type": "string",
 | 
			
		||||
                    "enum": [
 | 
			
		||||
                        "dst-ip",
 | 
			
		||||
                        "dst-mac",
 | 
			
		||||
                        "src-dst-ip",
 | 
			
		||||
                        "src-dst-mac",
 | 
			
		||||
                        "src-ip",
 | 
			
		||||
                        "src-mac"
 | 
			
		||||
                    ],
 | 
			
		||||
                    "default": "src-dst-mac"
 | 
			
		||||
                },
 | 
			
		||||
                "jumbo-frames": {
 | 
			
		||||
                    "type": "boolean",
 | 
			
		||||
                    "default": false
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
 
 | 
			
		||||
@@ -537,6 +537,77 @@
 | 
			
		||||
                            "maximum": 4094
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                },
 | 
			
		||||
                "trunk-group": {
 | 
			
		||||
                    "description": "Associates this port to a trunk or a port-channel.",
 | 
			
		||||
                    "type": "integer",
 | 
			
		||||
                    "minimum": 1,
 | 
			
		||||
                    "maximum": 64
 | 
			
		||||
                },
 | 
			
		||||
                "lacp-config": {
 | 
			
		||||
                    "description": "This section describes the 802.3ad Link Aggregation Control Protocol (LACP) configuration for the current interface.",
 | 
			
		||||
                    "type": "object",
 | 
			
		||||
                    "properties": {
 | 
			
		||||
                        "lacp-enable": {
 | 
			
		||||
                            "description": "Enables 802.3ad Link Aggregation Control Protocol (LACP) for the current interface.",
 | 
			
		||||
                            "type": "boolean",
 | 
			
		||||
                            "default": false
 | 
			
		||||
                        },
 | 
			
		||||
                        "lacp-role": {
 | 
			
		||||
                            "description": "Configures the port LACP role as actor or partner.",
 | 
			
		||||
                            "type": "string",
 | 
			
		||||
                            "enum": [
 | 
			
		||||
                                "actor",
 | 
			
		||||
                                "partner"
 | 
			
		||||
                            ],
 | 
			
		||||
                            "default": "actor"
 | 
			
		||||
                        },
 | 
			
		||||
                        "lacp-mode": {
 | 
			
		||||
                            "description": "Configures the LACP negotiation activity mode as active or passive.",
 | 
			
		||||
                            "type": "string",
 | 
			
		||||
                            "enum": [
 | 
			
		||||
                                "active",
 | 
			
		||||
                                "passive"
 | 
			
		||||
                            ],
 | 
			
		||||
                            "default": "passive"
 | 
			
		||||
                        },
 | 
			
		||||
                        "lacp-port-admin-key": {
 | 
			
		||||
                            "description": "Configures the port's LACP administration key.",
 | 
			
		||||
                            "type": "integer",
 | 
			
		||||
                            "minimum": 1,
 | 
			
		||||
                            "maximum": 65535,
 | 
			
		||||
                            "default": 1
 | 
			
		||||
                        },
 | 
			
		||||
                        "lacp-port-priority": {
 | 
			
		||||
                            "description": "Configures the LACP port priority.",
 | 
			
		||||
                            "type": "integer",
 | 
			
		||||
                            "minimum": 1,
 | 
			
		||||
                            "maximum": 65535,
 | 
			
		||||
                            "default": 32768
 | 
			
		||||
                        },
 | 
			
		||||
                        "lacp-system-priority": {
 | 
			
		||||
                            "description": "Configures the LACP System priority.",
 | 
			
		||||
                            "type": "integer",
 | 
			
		||||
                            "minimum": 1,
 | 
			
		||||
                            "maximum": 65535,
 | 
			
		||||
                            "default": 32768
 | 
			
		||||
                        },
 | 
			
		||||
                        "lacp-pchan-admin-key": {
 | 
			
		||||
                            "description": "Configures the port channel's LACP administration key (optional).",
 | 
			
		||||
                            "type": "integer",
 | 
			
		||||
                            "minimum": 1,
 | 
			
		||||
                            "maximum": 65535
 | 
			
		||||
                        },
 | 
			
		||||
                        "lacp-timeout": {
 | 
			
		||||
                            "description": "Configures the timeout to wait for the next LACP data unit.",
 | 
			
		||||
                            "type": "string",
 | 
			
		||||
                            "enum": [
 | 
			
		||||
                                "short",
 | 
			
		||||
                                "long"
 | 
			
		||||
                            ],
 | 
			
		||||
                            "default": "long"
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
@@ -776,6 +847,24 @@
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                },
 | 
			
		||||
                "trunk-balance-method": {
 | 
			
		||||
                    "description": "Sets the load-distribution method among ports in aggregated links for both static and LACP based trunks.",
 | 
			
		||||
                    "type": "string",
 | 
			
		||||
                    "enum": [
 | 
			
		||||
                        "dst-ip",
 | 
			
		||||
                        "dst-mac",
 | 
			
		||||
                        "src-dst-ip",
 | 
			
		||||
                        "src-dst-mac",
 | 
			
		||||
                        "src-ip",
 | 
			
		||||
                        "src-mac"
 | 
			
		||||
                    ],
 | 
			
		||||
                    "default": "src-dst-mac"
 | 
			
		||||
                },
 | 
			
		||||
                "jumbo-frames": {
 | 
			
		||||
                    "description": "Enables Jumbo frames",
 | 
			
		||||
                    "type": "boolean",
 | 
			
		||||
                    "default": false
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
 
 | 
			
		||||
@@ -78,6 +78,12 @@
 | 
			
		||||
        },
 | 
			
		||||
        "mac-address-list": {
 | 
			
		||||
            "$ref": "#/$defs/mac-address-list"
 | 
			
		||||
        },
 | 
			
		||||
        "static-trunks": {
 | 
			
		||||
            "$ref": "#/$defs/static-trunks"
 | 
			
		||||
        },
 | 
			
		||||
        "lacp-trunks": {
 | 
			
		||||
            "$ref": "#/$defs/lacp-trunks"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "$defs": {
 | 
			
		||||
@@ -759,6 +765,9 @@
 | 
			
		||||
                    "counters": {
 | 
			
		||||
                        "$ref": "#/$defs/interface.counter"
 | 
			
		||||
                    },
 | 
			
		||||
                    "delta_counters": {
 | 
			
		||||
                        "$ref": "#/$defs/interface.counter"
 | 
			
		||||
                    },
 | 
			
		||||
                    "mesh-path": {
 | 
			
		||||
                        "$ref": "#/$defs/interface.mesh-path"
 | 
			
		||||
                    },
 | 
			
		||||
@@ -887,6 +896,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",
 | 
			
		||||
@@ -1092,6 +1104,99 @@
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "static-trunks": {
 | 
			
		||||
            "type": "array",
 | 
			
		||||
            "items": {
 | 
			
		||||
                "type": "object",
 | 
			
		||||
                "description": "List of statically created trunks.",
 | 
			
		||||
                "properties": {
 | 
			
		||||
                    "trunk-identifier": {
 | 
			
		||||
                        "type": "integer",
 | 
			
		||||
                        "description": "Logical identifier for the trunk.",
 | 
			
		||||
                        "minimum": 1,
 | 
			
		||||
                        "maximum": 64
 | 
			
		||||
                    },
 | 
			
		||||
                    "member-ports": {
 | 
			
		||||
                        "type": "array",
 | 
			
		||||
                        "description": "List of member ports under this static trunk.",
 | 
			
		||||
                        "items": {
 | 
			
		||||
                            "type": "string"
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "lacp-trunks": {
 | 
			
		||||
            "type": "array",
 | 
			
		||||
            "items": {
 | 
			
		||||
                "type": "object",
 | 
			
		||||
                "description": "List of dynamically created trunks.",
 | 
			
		||||
                "properties": {
 | 
			
		||||
                    "trunk-identifier": {
 | 
			
		||||
                        "type": "integer",
 | 
			
		||||
                        "description": "Logical identifier for the trunk.",
 | 
			
		||||
                        "minimum": 1,
 | 
			
		||||
                        "maximum": 64
 | 
			
		||||
                    },
 | 
			
		||||
                    "member-port": {
 | 
			
		||||
                        "type": "string",
 | 
			
		||||
                        "description": "List of member ports under this trunk."
 | 
			
		||||
                    },
 | 
			
		||||
                    "system-priority": {
 | 
			
		||||
                        "type": "number",
 | 
			
		||||
                        "description": "LACP System priority."
 | 
			
		||||
                    },
 | 
			
		||||
                    "port-priority": {
 | 
			
		||||
                        "type": "number",
 | 
			
		||||
                        "description": "LACP port priority."
 | 
			
		||||
                    },
 | 
			
		||||
                    "port-state": {
 | 
			
		||||
                        "type": "string",
 | 
			
		||||
                        "description": "Port state."
 | 
			
		||||
                    },
 | 
			
		||||
                    "lacpdu-sent": {
 | 
			
		||||
                        "type": "number",
 | 
			
		||||
                        "description": "Number of LACP Data Units (PDUs) sent."
 | 
			
		||||
                    },
 | 
			
		||||
                    "lacpdu-recv": {
 | 
			
		||||
                        "type": "number",
 | 
			
		||||
                        "description": "Number of LACP Data Units (PDUs) received."
 | 
			
		||||
                    },
 | 
			
		||||
                    "markerpdu-sent": {
 | 
			
		||||
                        "type": "number",
 | 
			
		||||
                        "description": "Number of Marker PDUs sent."
 | 
			
		||||
                    },
 | 
			
		||||
                    "markerpdu-recv": {
 | 
			
		||||
                        "type": "number",
 | 
			
		||||
                        "description": "Number of Marker PDUs received."
 | 
			
		||||
                    },
 | 
			
		||||
                    "unknownpkt-recv": {
 | 
			
		||||
                        "type": "number",
 | 
			
		||||
                        "description": "Number of unknown packets received."
 | 
			
		||||
                    },
 | 
			
		||||
                    "illegalpkt-recv": {
 | 
			
		||||
                        "type": "number",
 | 
			
		||||
                        "description": "Number of illegal packets received."
 | 
			
		||||
                    },
 | 
			
		||||
                    "port-oper-key": {
 | 
			
		||||
                        "type": "number",
 | 
			
		||||
                        "description": "Operational key for the port."
 | 
			
		||||
                    },
 | 
			
		||||
                    "partner-oper-key": {
 | 
			
		||||
                        "type": "number",
 | 
			
		||||
                        "description": "Operational key for the partner."
 | 
			
		||||
                    },
 | 
			
		||||
                    "oper-state": {
 | 
			
		||||
                        "type": "string",
 | 
			
		||||
                        "description": "Operational state."
 | 
			
		||||
                    },
 | 
			
		||||
                    "partner-oper-state": {
 | 
			
		||||
                        "type": "string",
 | 
			
		||||
                        "description": "Operational state of the partner."
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user