UNPKG

@joergmittaglawo/dmvconfig

Version:

DMV Configuration scripts for Lawo V__matrix Distributed Multiviewers.

982 lines (981 loc) 37.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Enums = exports.All = exports.PortAsTableRow = exports.Port = exports.Health = exports.LaneStatisticsAsTableRow = exports.LaneStatistics = exports.EyeDiagram = exports.VirtualInterfaceAsTableRow = exports.VirtualInterface = exports.LLDPNeighborAsTableRow = exports.LLDPNeighbor = exports.HostnameConfiguration = exports.CurrentVirtualEthernetConfiguration = exports.CurrentPortConfiguration = exports.CurrentBridgeConfigurationAsTableRow = exports.CurrentBridgeConfiguration = exports.DesiredSyslogConfiguration = exports.DesiredSyslogServerAsArrayRow = exports.DesiredSyslogServer = exports.CurrentSyslogConfiguration = exports.CurrentSyslogServerAsArrayRow = exports.CurrentSyslogServer = exports.CurrentVirtualInterfaceConfiguration = exports.DesiredVirtualEthernetConfiguration = exports.DesiredPortConfiguration = exports.DesiredBridgeConfigurationAsTableRow = exports.DesiredBridgeConfiguration = exports.DesiredVirtualInterfaceConfiguration = exports.MaskedIpAddressAsTableRow = exports.MaskedIpAddress = exports.lower = exports.lift = void 0; const VScript = require("vscript"); const _EthernetStats = require("./EthernetStats"); exports.lift = { Port: (kwl, socket) => kwl ? (new Port(new VScript.Subtree(socket, kwl))) : null, Health: (kwl, socket) => kwl ? (new Health(new VScript.Subtree(socket, kwl))) : null, ErrorWindow: (x, _) => { return x ? { window: x[0], threshold: x[1] } : null; }, LaneStatistics: (kwl, socket) => kwl ? (new LaneStatistics(new VScript.Subtree(socket, kwl))) : null, EyeDiagram: (kwl, socket) => kwl ? (new EyeDiagram(new VScript.Subtree(socket, kwl))) : null, VirtualInterface: (kwl, socket) => kwl ? (new VirtualInterface(new VScript.Subtree(socket, kwl))) : null, LLDPNeighbor: (kwl, socket) => kwl ? (new LLDPNeighbor(new VScript.Subtree(socket, kwl))) : null, HostnameConfiguration: (kwl, socket) => kwl ? (new HostnameConfiguration(new VScript.Subtree(socket, kwl))) : null, CurrentVirtualEthernetConfiguration: (kwl, socket) => kwl ? (new CurrentVirtualEthernetConfiguration(new VScript.Subtree(socket, kwl))) : null, CurrentVirtualEthernetConfigurationVeths: (kwl, socket) => kwl ? (new CurrentVirtualEthernetConfigurationVeths(new VScript.Subtree(socket, kwl))) : null, CurrentPortConfiguration: (kwl, socket) => kwl ? (new CurrentPortConfiguration(new VScript.Subtree(socket, kwl))) : null, CurrentPortConfigurationVlans: (kwl, socket) => kwl ? (new CurrentPortConfigurationVlans(new VScript.Subtree(socket, kwl))) : null, CurrentBridgeConfiguration: (kwl, socket) => kwl ? (new CurrentBridgeConfiguration(new VScript.Subtree(socket, kwl))) : null, CurrentBridgeConfigurationDevices: (kwl, socket) => kwl ? (new CurrentBridgeConfigurationDevices(new VScript.Subtree(socket, kwl))) : null, DesiredSyslogConfiguration: (kwl, socket) => kwl ? (new DesiredSyslogConfiguration(new VScript.Subtree(socket, kwl))) : null, DesiredSyslogServer: (kwl, socket) => kwl ? (new DesiredSyslogServer(new VScript.Subtree(socket, kwl))) : null, CurrentSyslogConfiguration: (kwl, socket) => kwl ? (new CurrentSyslogConfiguration(new VScript.Subtree(socket, kwl))) : null, CurrentSyslogServer: (kwl, socket) => kwl ? (new CurrentSyslogServer(new VScript.Subtree(socket, kwl))) : null, CurrentVirtualInterfaceConfiguration: (kwl, socket) => kwl ? (new CurrentVirtualInterfaceConfiguration(new VScript.Subtree(socket, kwl))) : null, CurrentVirtualInterfaceConfigurationRoutes: (kwl, socket) => kwl ? (new CurrentVirtualInterfaceConfigurationRoutes(new VScript.Subtree(socket, kwl))) : null, CurrentVirtualInterfaceConfigurationIpAddresses: (kwl, socket) => kwl ? (new CurrentVirtualInterfaceConfigurationIpAddresses(new VScript.Subtree(socket, kwl))) : null, DesiredVirtualEthernetConfiguration: (kwl, socket) => kwl ? (new DesiredVirtualEthernetConfiguration(new VScript.Subtree(socket, kwl))) : null, DesiredVirtualEthernetConfigurationVeths: (kwl, socket) => kwl ? (new DesiredVirtualEthernetConfigurationVeths(new VScript.Subtree(socket, kwl))) : null, DesiredPortConfiguration: (kwl, socket) => kwl ? (new DesiredPortConfiguration(new VScript.Subtree(socket, kwl))) : null, DesiredPortConfigurationVlans: (kwl, socket) => kwl ? (new DesiredPortConfigurationVlans(new VScript.Subtree(socket, kwl))) : null, DesiredBridgeConfiguration: (kwl, socket) => kwl ? (new DesiredBridgeConfiguration(new VScript.Subtree(socket, kwl))) : null, DesiredBridgeConfigurationDevices: (kwl, socket) => kwl ? (new DesiredBridgeConfigurationDevices(new VScript.Subtree(socket, kwl))) : null, DesiredVirtualInterfaceConfiguration: (kwl, socket) => kwl ? (new DesiredVirtualInterfaceConfiguration(new VScript.Subtree(socket, kwl))) : null, DesiredVirtualInterfaceConfigurationRoutes: (kwl, socket) => kwl ? (new DesiredVirtualInterfaceConfigurationRoutes(new VScript.Subtree(socket, kwl))) : null, DesiredVirtualInterfaceConfigurationIpAddresses: (kwl, socket) => kwl ? (new DesiredVirtualInterfaceConfigurationIpAddresses(new VScript.Subtree(socket, kwl))) : null, MaskedIpAddress: (kwl, socket) => kwl ? (new MaskedIpAddress(new VScript.Subtree(socket, kwl))) : null }; exports.lower = { Port: (ref) => ref ? ref.raw.kwl : null, Health: (ref) => ref ? ref.raw.kwl : null, ErrorWindow: (x) => x ? [x.window, x.threshold] : null, LaneStatistics: (ref) => ref ? ref.raw.kwl : null, EyeDiagram: (ref) => ref ? ref.raw.kwl : null, VirtualInterface: (ref) => ref ? ref.raw.kwl : null, LLDPNeighbor: (ref) => ref ? ref.raw.kwl : null, HostnameConfiguration: (ref) => ref ? ref.raw.kwl : null, CurrentVirtualEthernetConfiguration: (ref) => ref ? ref.raw.kwl : null, CurrentVirtualEthernetConfigurationVeths: (ref) => ref ? ref.raw.kwl : null, CurrentPortConfiguration: (ref) => ref ? ref.raw.kwl : null, CurrentPortConfigurationVlans: (ref) => ref ? ref.raw.kwl : null, CurrentBridgeConfiguration: (ref) => ref ? ref.raw.kwl : null, CurrentBridgeConfigurationDevices: (ref) => ref ? ref.raw.kwl : null, DesiredSyslogConfiguration: (ref) => ref ? ref.raw.kwl : null, DesiredSyslogServer: (ref) => ref ? ref.raw.kwl : null, CurrentSyslogConfiguration: (ref) => ref ? ref.raw.kwl : null, CurrentSyslogServer: (ref) => ref ? ref.raw.kwl : null, CurrentVirtualInterfaceConfiguration: (ref) => ref ? ref.raw.kwl : null, CurrentVirtualInterfaceConfigurationRoutes: (ref) => ref ? ref.raw.kwl : null, CurrentVirtualInterfaceConfigurationIpAddresses: (ref) => ref ? ref.raw.kwl : null, DesiredVirtualEthernetConfiguration: (ref) => ref ? ref.raw.kwl : null, DesiredVirtualEthernetConfigurationVeths: (ref) => ref ? ref.raw.kwl : null, DesiredPortConfiguration: (ref) => ref ? ref.raw.kwl : null, DesiredPortConfigurationVlans: (ref) => ref ? ref.raw.kwl : null, DesiredBridgeConfiguration: (ref) => ref ? ref.raw.kwl : null, DesiredBridgeConfigurationDevices: (ref) => ref ? ref.raw.kwl : null, DesiredVirtualInterfaceConfiguration: (ref) => ref ? ref.raw.kwl : null, DesiredVirtualInterfaceConfigurationRoutes: (ref) => ref ? ref.raw.kwl : null, DesiredVirtualInterfaceConfigurationIpAddresses: (ref) => ref ? ref.raw.kwl : null, MaskedIpAddress: (ref) => ref ? ref.raw.kwl : null }; class MaskedIpAddress { constructor(raw) { this.raw = raw; } get ip_address() { return new VScript.rKeyword(this, "ip_address"); } get netmask() { return new VScript.rKeyword(this, "netmask"); } } exports.MaskedIpAddress = MaskedIpAddress; class MaskedIpAddressAsTableRow extends MaskedIpAddress { constructor(raw_row, enclosing_table) { super(new VScript.Subtree(raw_row.socket, raw_row.kwl)); this.enclosing_table = enclosing_table; this.index = raw_row.index; } } exports.MaskedIpAddressAsTableRow = MaskedIpAddressAsTableRow; class DesiredVirtualInterfaceConfigurationIpAddresses { constructor(raw) { this.raw = raw; } get ip_address() { return new VScript.rwKeyword(this, "ip_address"); } get prefix() { return new VScript.rwKeyword(this, "prefix"); } /** Delete */ get delete_ip_address() { return new VScript.wKeyword(this, "delete_ip_address"); } } class DesiredVirtualInterfaceConfigurationIpAddressesAsTableRow extends DesiredVirtualInterfaceConfigurationIpAddresses { constructor(raw_row, enclosing_table) { super(new VScript.Subtree(raw_row.socket, raw_row.kwl)); this.enclosing_table = enclosing_table; this.index = raw_row.index; } } class DesiredVirtualInterfaceConfigurationRoutes { constructor(raw) { this.raw = raw; } /** Destination address or subnet for this route. Leave blank for the default route. */ get dst() { return new VScript.rwKeyword(this, "dst"); } get dst_prefix() { return new VScript.rwKeyword(this, "dst_prefix"); } get via() { return new VScript.rwKeyword(this, "via"); } get weight() { return new VScript.rwKeyword(this, "weight"); } /** Delete */ get delete_route() { return new VScript.wKeyword(this, "delete_route"); } } class DesiredVirtualInterfaceConfigurationRoutesAsTableRow extends DesiredVirtualInterfaceConfigurationRoutes { constructor(raw_row, enclosing_table) { super(new VScript.Subtree(raw_row.socket, raw_row.kwl)); this.enclosing_table = enclosing_table; this.index = raw_row.index; } } class DesiredVirtualInterfaceConfiguration { constructor(raw) { this.raw = raw; } get brief() { return new VScript.rKeyword(this, "brief"); } /** Add IP address */ get add_ip_address() { return new VScript.wKeyword(this, "add_ip_address"); } /** Add route */ get add_route() { return new VScript.wKeyword(this, "add_route"); } get dhcp() { return new VScript.rwKeyword(this, "dhcp"); } /** BusyBox NTP server using current system time as source */ get ntpd() { return new VScript.rwKeyword(this, "ntpd"); } get reverse_path_filter() { return new VScript.rwKeyword(this, "reverse_path_filter"); } get ip_addresses() { return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("ip_addresses")), (row, enclosing_table) => new DesiredVirtualInterfaceConfigurationIpAddressesAsTableRow(row, enclosing_table)); } get routes() { return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("routes")), (row, enclosing_table) => new DesiredVirtualInterfaceConfigurationRoutesAsTableRow(row, enclosing_table)); } } exports.DesiredVirtualInterfaceConfiguration = DesiredVirtualInterfaceConfiguration; class DesiredBridgeConfigurationDevices { constructor(raw) { this.raw = raw; } get wrapped_reference() { return new VScript.rwKeyword(this, "wrapped_reference", { lift: exports.lift.DesiredVirtualInterfaceConfiguration, lower: exports.lower.DesiredVirtualInterfaceConfiguration }); } } class DesiredBridgeConfigurationDevicesAsArrayRow extends DesiredBridgeConfigurationDevices { constructor(st, index, parent) { super(st); this.index = index; this.parent = parent; } } class DesiredBridgeConfiguration { constructor(raw) { this.raw = raw; } get brief() { return new VScript.rKeyword(this, "brief"); } /** Enable spanning tree protocol on this bridge */ get stp() { return new VScript.rwKeyword(this, "stp"); } /** Delete */ get delete_bridge() { return new VScript.wKeyword(this, "delete_bridge"); } get settings() { return new DesiredVirtualInterfaceConfiguration(this.raw.find("settings")); } get devices() { return new VScript.StronglyTypedArray(this, "devices", (st, index, parent) => new DesiredBridgeConfigurationDevicesAsArrayRow(st, index, parent)); } } exports.DesiredBridgeConfiguration = DesiredBridgeConfiguration; class DesiredBridgeConfigurationAsTableRow extends DesiredBridgeConfiguration { constructor(raw_row, enclosing_table) { super(new VScript.Subtree(raw_row.socket, raw_row.kwl)); this.enclosing_table = enclosing_table; this.index = raw_row.index; } } exports.DesiredBridgeConfigurationAsTableRow = DesiredBridgeConfigurationAsTableRow; class DesiredPortConfigurationVlans { constructor(raw) { this.raw = raw; } get vlan_id() { return new VScript.rwKeyword(this, "vlan_id"); } /** Delete */ get delete_vlan() { return new VScript.wKeyword(this, "delete_vlan"); } get settings() { return new DesiredVirtualInterfaceConfiguration(this.raw.find("settings")); } } class DesiredPortConfigurationVlansAsTableRow extends DesiredPortConfigurationVlans { constructor(raw_row, enclosing_table) { super(new VScript.Subtree(raw_row.socket, raw_row.kwl)); this.enclosing_table = enclosing_table; this.index = raw_row.index; } } class DesiredPortConfiguration { constructor(raw) { this.raw = raw; } /** Add VLAN */ get add_vlan() { return new VScript.wKeyword(this, "add_vlan"); } /** Add Bridge */ get add_bridge() { return new VScript.wKeyword(this, "add_bridge"); } get base() { return new DesiredVirtualInterfaceConfiguration(this.raw.find("base")); } get vlans() { return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("vlans")), (row, enclosing_table) => new DesiredPortConfigurationVlansAsTableRow(row, enclosing_table)); } get bridges() { return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("bridges")), (row, enclosing_table) => new DesiredBridgeConfigurationAsTableRow(row, enclosing_table)); } } exports.DesiredPortConfiguration = DesiredPortConfiguration; class DesiredVirtualEthernetConfigurationVeths { constructor(raw) { this.raw = raw; } get brief() { return new VScript.rKeyword(this, "brief"); } /** Delete this VETH */ get delete_veth() { return new VScript.wKeyword(this, "delete_veth"); } get endpoint0() { return new VScript.rwKeyword(this, "endpoint0", { lift: exports.lift.DesiredBridgeConfiguration, lower: exports.lower.DesiredBridgeConfiguration }); } get endpoint1() { return new VScript.rwKeyword(this, "endpoint1", { lift: exports.lift.DesiredBridgeConfiguration, lower: exports.lower.DesiredBridgeConfiguration }); } } class DesiredVirtualEthernetConfigurationVethsAsTableRow extends DesiredVirtualEthernetConfigurationVeths { constructor(raw_row, enclosing_table) { super(new VScript.Subtree(raw_row.socket, raw_row.kwl)); this.enclosing_table = enclosing_table; this.index = raw_row.index; } } class DesiredVirtualEthernetConfiguration { constructor(raw) { this.raw = raw; } /** Save veth settings */ get save_veth_config() { return new VScript.wKeyword(this, "save_veth_config"); } /** Revert veth settings */ get revert_veth_config() { return new VScript.wKeyword(this, "revert_veth_config"); } /** Add VETH */ get add_veth() { return new VScript.wKeyword(this, "add_veth"); } get veths() { return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("veths")), (row, enclosing_table) => new DesiredVirtualEthernetConfigurationVethsAsTableRow(row, enclosing_table)); } } exports.DesiredVirtualEthernetConfiguration = DesiredVirtualEthernetConfiguration; class CurrentVirtualInterfaceConfigurationIpAddresses { constructor(raw) { this.raw = raw; } get ip_address() { return new VScript.rKeyword(this, "ip_address"); } get prefix() { return new VScript.rKeyword(this, "prefix"); } } class CurrentVirtualInterfaceConfigurationIpAddressesAsTableRow extends CurrentVirtualInterfaceConfigurationIpAddresses { constructor(raw_row, enclosing_table) { super(new VScript.Subtree(raw_row.socket, raw_row.kwl)); this.enclosing_table = enclosing_table; this.index = raw_row.index; } } class CurrentVirtualInterfaceConfigurationRoutes { constructor(raw) { this.raw = raw; } /** Destination address or subnet for this route. Blank for the default route. */ get dst() { return new VScript.rKeyword(this, "dst"); } get dst_prefix() { return new VScript.rKeyword(this, "dst_prefix"); } get via() { return new VScript.rKeyword(this, "via"); } get weight() { return new VScript.rKeyword(this, "weight"); } } class CurrentVirtualInterfaceConfigurationRoutesAsTableRow extends CurrentVirtualInterfaceConfigurationRoutes { constructor(raw_row, enclosing_table) { super(new VScript.Subtree(raw_row.socket, raw_row.kwl)); this.enclosing_table = enclosing_table; this.index = raw_row.index; } } class CurrentVirtualInterfaceConfiguration { constructor(raw) { this.raw = raw; } get brief() { return new VScript.rKeyword(this, "brief"); } get dhcp() { return new VScript.rKeyword(this, "dhcp"); } /** BusyBox NTP server using current system time as source */ get ntpd() { return new VScript.rKeyword(this, "ntpd"); } get reverse_path_filter() { return new VScript.rKeyword(this, "reverse_path_filter"); } get ip_addresses() { return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("ip_addresses")), (row, enclosing_table) => new CurrentVirtualInterfaceConfigurationIpAddressesAsTableRow(row, enclosing_table)); } get routes() { return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("routes")), (row, enclosing_table) => new CurrentVirtualInterfaceConfigurationRoutesAsTableRow(row, enclosing_table)); } } exports.CurrentVirtualInterfaceConfiguration = CurrentVirtualInterfaceConfiguration; class CurrentSyslogServer { constructor(raw) { this.raw = raw; } get address() { return new VScript.rKeyword(this, "address"); } get protocol() { return new VScript.rKeyword(this, "protocol"); } get rebind_interval() { return new VScript.rKeyword(this, "rebind_interval"); } get keep_alive() { return new VScript.rKeyword(this, "keep_alive"); } } exports.CurrentSyslogServer = CurrentSyslogServer; class CurrentSyslogServerAsArrayRow extends CurrentSyslogServer { constructor(st, index, parent) { super(st); this.index = index; this.parent = parent; } } exports.CurrentSyslogServerAsArrayRow = CurrentSyslogServerAsArrayRow; class CurrentSyslogConfiguration { constructor(raw) { this.raw = raw; } get syslog_servers() { return new VScript.StronglyTypedArray(this, "syslog_servers", (st, index, parent) => new CurrentSyslogServerAsArrayRow(st, index, parent)); } } exports.CurrentSyslogConfiguration = CurrentSyslogConfiguration; class DesiredSyslogServer { constructor(raw) { this.raw = raw; } get address() { return new VScript.rwKeyword(this, "address"); } get protocol() { return new VScript.rwKeyword(this, "protocol"); } get rebind_interval() { return new VScript.rwKeyword(this, "rebind_interval"); } get keep_alive() { return new VScript.rwKeyword(this, "keep_alive"); } } exports.DesiredSyslogServer = DesiredSyslogServer; class DesiredSyslogServerAsArrayRow extends DesiredSyslogServer { constructor(st, index, parent) { super(st); this.index = index; this.parent = parent; } } exports.DesiredSyslogServerAsArrayRow = DesiredSyslogServerAsArrayRow; class DesiredSyslogConfiguration { constructor(raw) { this.raw = raw; } get syslog_servers() { return new VScript.StronglyTypedArray(this, "syslog_servers", (st, index, parent) => new DesiredSyslogServerAsArrayRow(st, index, parent)); } } exports.DesiredSyslogConfiguration = DesiredSyslogConfiguration; class CurrentBridgeConfigurationDevices { constructor(raw) { this.raw = raw; } get wrapped_reference() { return new VScript.rKeyword(this, "wrapped_reference", { lift: exports.lift.CurrentVirtualInterfaceConfiguration, lower: exports.lower.CurrentVirtualInterfaceConfiguration }); } } class CurrentBridgeConfigurationDevicesAsTableRow extends CurrentBridgeConfigurationDevices { constructor(raw_row, enclosing_table) { super(new VScript.Subtree(raw_row.socket, raw_row.kwl)); this.enclosing_table = enclosing_table; this.index = raw_row.index; } } class CurrentBridgeConfiguration { constructor(raw) { this.raw = raw; } get brief() { return new VScript.rKeyword(this, "brief"); } get stp() { return new VScript.rKeyword(this, "stp"); } get settings() { return new CurrentVirtualInterfaceConfiguration(this.raw.find("settings")); } get devices() { return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("devices")), (row, enclosing_table) => new CurrentBridgeConfigurationDevicesAsTableRow(row, enclosing_table)); } } exports.CurrentBridgeConfiguration = CurrentBridgeConfiguration; class CurrentBridgeConfigurationAsTableRow extends CurrentBridgeConfiguration { constructor(raw_row, enclosing_table) { super(new VScript.Subtree(raw_row.socket, raw_row.kwl)); this.enclosing_table = enclosing_table; this.index = raw_row.index; } } exports.CurrentBridgeConfigurationAsTableRow = CurrentBridgeConfigurationAsTableRow; class CurrentPortConfigurationVlans { constructor(raw) { this.raw = raw; } get vlan_id() { return new VScript.rKeyword(this, "vlan_id"); } get settings() { return new CurrentVirtualInterfaceConfiguration(this.raw.find("settings")); } } class CurrentPortConfigurationVlansAsTableRow extends CurrentPortConfigurationVlans { constructor(raw_row, enclosing_table) { super(new VScript.Subtree(raw_row.socket, raw_row.kwl)); this.enclosing_table = enclosing_table; this.index = raw_row.index; } } class CurrentPortConfiguration { constructor(raw) { this.raw = raw; } get unknown_commands() { return new VScript.rKeyword(this, "unknown_commands"); } get base() { return new CurrentVirtualInterfaceConfiguration(this.raw.find("base")); } get vlans() { return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("vlans")), (row, enclosing_table) => new CurrentPortConfigurationVlansAsTableRow(row, enclosing_table)); } get bridges() { return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("bridges")), (row, enclosing_table) => new CurrentBridgeConfigurationAsTableRow(row, enclosing_table)); } } exports.CurrentPortConfiguration = CurrentPortConfiguration; class CurrentVirtualEthernetConfigurationVeths { constructor(raw) { this.raw = raw; } get brief() { return new VScript.rKeyword(this, "brief"); } get endpoint0() { return new VScript.rKeyword(this, "endpoint0", { lift: exports.lift.CurrentBridgeConfiguration, lower: exports.lower.CurrentBridgeConfiguration }); } get endpoint1() { return new VScript.rKeyword(this, "endpoint1", { lift: exports.lift.CurrentBridgeConfiguration, lower: exports.lower.CurrentBridgeConfiguration }); } } class CurrentVirtualEthernetConfigurationVethsAsTableRow extends CurrentVirtualEthernetConfigurationVeths { constructor(raw_row, enclosing_table) { super(new VScript.Subtree(raw_row.socket, raw_row.kwl)); this.enclosing_table = enclosing_table; this.index = raw_row.index; } } class CurrentVirtualEthernetConfiguration { constructor(raw) { this.raw = raw; } get veths() { return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("veths")), (row, enclosing_table) => new CurrentVirtualEthernetConfigurationVethsAsTableRow(row, enclosing_table)); } } exports.CurrentVirtualEthernetConfiguration = CurrentVirtualEthernetConfiguration; class HostnameConfiguration { constructor(raw) { this.raw = raw; } /** Save hostname settings */ get save_hostname_config() { return new VScript.wKeyword(this, "save_hostname_config"); } /** Revert hostname settings */ get revert_hostname_config() { return new VScript.wKeyword(this, "revert_hostname_config"); } get current_configuration() { return new VScript.rKeyword(this, "current_configuration"); } /** A valid hostname may only contain the following characters: 0-9, a-z, A-Z, - and . */ get desired_configuration() { return new VScript.rwKeyword(this, "desired_configuration"); } } exports.HostnameConfiguration = HostnameConfiguration; class LLDPNeighbor { constructor(raw) { this.raw = raw; } /** System runtime since boot */ get last_changed() { return new VScript.rKeyword(this, "last_changed"); } get rid() { return new VScript.rKeyword(this, "rid"); } get system_name() { return new VScript.rKeyword(this, "system_name"); } get system_description() { return new VScript.rKeyword(this, "system_description"); } get chassis_id() { return new VScript.rKeyword(this, "chassis_id"); } get interface_name() { return new VScript.rKeyword(this, "interface_name"); } get vlan_id() { return new VScript.rKeyword(this, "vlan_id"); } get mgmt_addr_v4() { return new VScript.rKeyword(this, "mgmt_addr_v4"); } get mgmt_addr_v6() { return new VScript.rKeyword(this, "mgmt_addr_v6"); } } exports.LLDPNeighbor = LLDPNeighbor; class LLDPNeighborAsTableRow extends LLDPNeighbor { constructor(raw_row, enclosing_table) { super(new VScript.Subtree(raw_row.socket, raw_row.kwl)); this.enclosing_table = enclosing_table; this.index = raw_row.index; } } exports.LLDPNeighborAsTableRow = LLDPNeighborAsTableRow; class VirtualInterface { constructor(raw) { this.raw = raw; } get brief() { return new VScript.rKeyword(this, "brief"); } /** TODO: look up actual upper bound */ get linux_ifc_index() { return new VScript.rKeyword(this, "linux_ifc_index"); } /** NOTE: the empty string is interpreted as <null> */ get ifname() { return new VScript.rKeyword(this, "ifname"); } get vlan_id() { return new VScript.rKeyword(this, "vlan_id"); } get supports_ptp() { return new VScript.rKeyword(this, "supports_ptp"); } get supports_rtp() { return new VScript.rKeyword(this, "supports_rtp"); } get running() { return new VScript.rKeyword(this, "running"); } get ip_addresses() { return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("ip_addresses")), (row, enclosing_table) => new MaskedIpAddressAsTableRow(row, enclosing_table)); } } exports.VirtualInterface = VirtualInterface; class VirtualInterfaceAsTableRow extends VirtualInterface { constructor(raw_row, enclosing_table) { super(new VScript.Subtree(raw_row.socket, raw_row.kwl)); this.enclosing_table = enclosing_table; this.index = raw_row.index; } } exports.VirtualInterfaceAsTableRow = VirtualInterfaceAsTableRow; class EyeDiagram { constructor(raw) { this.raw = raw; } /** Generate eye diagram */ get generate() { return new VScript.wKeyword(this, "generate"); } get progress() { return new VScript.rKeyword(this, "progress"); } /** @brief URL of the eye diagram @desc An update to this keyword signals a new eye diagram has been generated */ get url() { return new VScript.rKeyword(this, "url"); } /** @brief Measure eye opening only @desc Only measure horizontal eye opening (much faster than a full eye) */ get measure_ui() { return new VScript.wKeyword(this, "measure_ui"); } get ui() { return new VScript.rKeyword(this, "ui"); } } exports.EyeDiagram = EyeDiagram; class LaneStatistics { constructor(raw) { this.raw = raw; } get lane() { return new VScript.rKeyword(this, "lane"); } get brief() { return new VScript.rKeyword(this, "brief"); } /** maximum throughput (per direction), measured in bits/second */ get max_throughput() { return new VScript.rKeyword(this, "max_throughput"); } get locked_to_data() { return new VScript.rKeyword(this, "locked_to_data"); } get block_lock() { return new VScript.rKeyword(this, "block_lock"); } get high_ber() { return new VScript.rKeyword(this, "high_ber"); } get bip_errors() { return new VScript.rKeyword(this, "bip_errors"); } get tx_streams() { return new VScript.StronglyTypedArray(this, "tx_streams", (st, index, parent) => new _EthernetStats.CounterAsArrayRow(st, index, parent)); } get tx_all_streams() { return new _EthernetStats.Counter(this.raw.find("tx_all_streams")); } get eye() { return new EyeDiagram(this.raw.find("eye")); } } exports.LaneStatistics = LaneStatistics; class LaneStatisticsAsTableRow extends LaneStatistics { constructor(raw_row, enclosing_table) { super(new VScript.Subtree(raw_row.socket, raw_row.kwl)); this.enclosing_table = enclosing_table; this.index = raw_row.index; } } exports.LaneStatisticsAsTableRow = LaneStatisticsAsTableRow; class Health { constructor(raw) { this.raw = raw; } get unreliable() { return new VScript.rKeyword(this, "unreliable"); } /** Include aggregate_traffic_statistics.rx_error and aggregate_traffic_statistics.rx_crc_error in addition to the BIP error counters (which are only available in 40GbE) */ get include_rx_errors() { return new VScript.rwKeyword(this, "include_rx_errors"); } get set_unreliable() { return new VScript.duplexKeyword(this, "set_unreliable", { lift: exports.lift.ErrorWindow, lower: exports.lower.ErrorWindow }); } get clear_unreliable() { return new VScript.duplexKeyword(this, "clear_unreliable", { lift: exports.lift.ErrorWindow, lower: exports.lower.ErrorWindow }); } } exports.Health = Health; class Port { constructor(raw) { this.raw = raw; } get brief() { return new VScript.rKeyword(this, "brief"); } get port_id() { return new VScript.rKeyword(this, "port_id"); } get device_name() { return new VScript.rKeyword(this, "device_name"); } /** maximum throughput (per direction), measured in bits/second */ get max_throughput() { return new VScript.rKeyword(this, "max_throughput"); } get port_mode() { return new VScript.duplexKeyword(this, "port_mode"); } get fault_status() { return new VScript.rKeyword(this, "fault_status"); } get link_up() { return new VScript.rKeyword(this, "link_up"); } /** System runtime since boot */ get link_up_last_changed() { return new VScript.rKeyword(this, "link_up_last_changed"); } /** MAC address, stored in big-endian order. */ get mac_address() { return new VScript.rKeyword(this, "mac_address"); } get supports_ptp() { return new VScript.rKeyword(this, "supports_ptp"); } get supports_rtp() { return new VScript.rKeyword(this, "supports_rtp"); } /** To execute shell commands on this interface, you will first need to enter its hosting network namespace. E.g., if `network_namespace` reads `ns_eth0.2`, the following command lists its IP addresses: `ip netns exec ns_eth0.2 ip addr show` */ get network_namespace() { return new VScript.rKeyword(this, "network_namespace"); } /** Save interface */ get save_config() { return new VScript.wKeyword(this, "save_config"); } /** Revert interface */ get revert_config() { return new VScript.wKeyword(this, "revert_config"); } /** Save syslog settings */ get save_syslog_config() { return new VScript.wKeyword(this, "save_syslog_config"); } /** Revert syslog settings */ get revert_syslog_config() { return new VScript.wKeyword(this, "revert_syslog_config"); } get health() { return new Health(this.raw.find("health")); } get current_configuration() { return new CurrentPortConfiguration(this.raw.find("current_configuration")); } get desired_configuration() { return new DesiredPortConfiguration(this.raw.find("desired_configuration")); } get current_syslog_configuration() { return new CurrentSyslogConfiguration(this.raw.find("current_syslog_configuration")); } get desired_syslog_configuration() { return new DesiredSyslogConfiguration(this.raw.find("desired_syslog_configuration")); } get virtual_interfaces() { return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("virtual_interfaces")), (row, enclosing_table) => new VirtualInterfaceAsTableRow(row, enclosing_table)); } get fpga_lane_statistics() { return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("fpga_lane_statistics")), (row, enclosing_table) => new LaneStatisticsAsTableRow(row, enclosing_table)); } /** aggregate statistics as obtained by summing over all of a (FPGA-connected) port's internal lanes. Note that management ports never report traffic statistics, regardless of their actual activity */ get aggregate_traffic_statistics() { return new _EthernetStats.PortStatistics(this.raw.find("aggregate_traffic_statistics")); } get lldp_neighbors() { return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("lldp_neighbors")), (row, enclosing_table) => new LLDPNeighborAsTableRow(row, enclosing_table)); } } exports.Port = Port; class PortAsTableRow extends Port { constructor(raw_row, enclosing_table) { super(new VScript.Subtree(raw_row.socket, raw_row.kwl)); this.enclosing_table = enclosing_table; this.index = raw_row.index; } } exports.PortAsTableRow = PortAsTableRow; class All { constructor(raw) { this.raw = raw; } /** Save all interfaces */ get save_config() { return new VScript.wKeyword(this, "save_config"); } /** Revert all interfaces */ get revert_config() { return new VScript.wKeyword(this, "revert_config"); } /** Save all syslog settings */ get save_syslog_config() { return new VScript.wKeyword(this, "save_syslog_config"); } /** Revert all syslog settings */ get revert_syslog_config() { return new VScript.wKeyword(this, "revert_syslog_config"); } get ports() { return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("ports")), (row, enclosing_table) => new PortAsTableRow(row, enclosing_table)); } get rx_streams() { return new VScript.StronglyTypedArray(this, "rx_streams", (st, index, parent) => new _EthernetStats.CounterAsArrayRow(st, index, parent)); } get hostname() { return new HostnameConfiguration(this.raw.find("hostname")); } get current_veth_configuration() { return new CurrentVirtualEthernetConfiguration(this.raw.find("current_veth_configuration")); } get desired_veth_configuration() { return new DesiredVirtualEthernetConfiguration(this.raw.find("desired_veth_configuration")); } } exports.All = All; exports.Enums = { FaultStatus: ["LINK_UP", "LOCAL_FAULT", "REMOTE_FAULT"], Protocol: ["UDP", "TCP"], ReversePathFilter: ["Disabled", "Loose", "Strict"], PortMode: ["eth1g", "eth10g", "eth40g"], Lane: ["P1_0", "P1_1", "P1_2", "P1_3", "P2_0", "P2_1", "P2_2", "P2_3"] };