@joergmittaglawo/dmvconfig
Version:
DMV Configuration scripts for Lawo V__matrix Distributed Multiviewers.
551 lines (531 loc) • 23.1 kB
TypeScript
import * as VScript from "vscript";
import * as _Primitives from "./Primitives";
export declare const lift: {
readonly AllCommandLogging: (kwl: string | null, socket: VScript.VSocket) => AllCommandLogging | null;
readonly AllServices: (kwl: string | null, socket: VScript.VSocket) => AllServices | null;
readonly AllEcc: (kwl: string | null, socket: VScript.VSocket) => AllEcc | null;
readonly AllUsrinfo: (kwl: string | null, socket: VScript.VSocket) => AllUsrinfo | null;
readonly AllSysinfo: (kwl: string | null, socket: VScript.VSocket) => AllSysinfo | null;
readonly AllPartitions: (kwl: string | null, socket: VScript.VSocket) => AllPartitions | null;
readonly AllPower: (kwl: string | null, socket: VScript.VSocket) => AllPower | null;
readonly AllTemperature: (kwl: string | null, socket: VScript.VSocket) => AllTemperature | null;
readonly FanSpeed: (kwl: string | null, socket: VScript.VSocket) => FanSpeed | null;
readonly QSFP: (kwl: string | null, socket: VScript.VSocket) => QSFP | null;
readonly QSFPRxPower: (kwl: string | null, socket: VScript.VSocket) => QSFPRxPower | null;
readonly PSU: (kwl: string | null, socket: VScript.VSocket) => PSU | null;
readonly SlotInformation: (kwl: string | null, socket: VScript.VSocket) => SlotInformation | null;
readonly SlotInformationIpAddresses: (kwl: string | null, socket: VScript.VSocket) => SlotInformationIpAddresses | null;
readonly NeighborhoodWatch: (kwl: string | null, socket: VScript.VSocket) => NeighborhoodWatch | null;
readonly SWVersion: (kwl: string | null, socket: VScript.VSocket) => SWVersion | null;
readonly InternalHW: (kwl: string | null, socket: VScript.VSocket) => InternalHW | null;
readonly InternalHWSgmii: (kwl: string | null, socket: VScript.VSocket) => InternalHWSgmii | null;
readonly MEMORY: (kwl: string | null, socket: VScript.VSocket) => MEMORY | null;
readonly SPD: (kwl: string | null, socket: VScript.VSocket) => SPD | null;
readonly ECC: (kwl: string | null, socket: VScript.VSocket) => ECC | null;
readonly Device: (kwl: string | null, socket: VScript.VSocket) => Device | null;
readonly PCBInfo: (kwl: string | null, socket: VScript.VSocket) => PCBInfo | null;
readonly DeviceInfo: (kwl: string | null, socket: VScript.VSocket) => DeviceInfo | null;
readonly Revision: (x: any | null, _: VScript.VSocket) => Revision | null;
readonly CompileInfo: (kwl: string | null, socket: VScript.VSocket) => CompileInfo | null;
};
export declare const lower: {
readonly AllCommandLogging: (ref: AllCommandLogging | null) => string | null;
readonly AllServices: (ref: AllServices | null) => string | null;
readonly AllEcc: (ref: AllEcc | null) => string | null;
readonly AllUsrinfo: (ref: AllUsrinfo | null) => string | null;
readonly AllSysinfo: (ref: AllSysinfo | null) => string | null;
readonly AllPartitions: (ref: AllPartitions | null) => string | null;
readonly AllPower: (ref: AllPower | null) => string | null;
readonly AllTemperature: (ref: AllTemperature | null) => string | null;
readonly FanSpeed: (ref: FanSpeed | null) => string | null;
readonly QSFP: (ref: QSFP | null) => string | null;
readonly QSFPRxPower: (ref: QSFPRxPower | null) => string | null;
readonly PSU: (ref: PSU | null) => string | null;
readonly SlotInformation: (ref: SlotInformation | null) => string | null;
readonly SlotInformationIpAddresses: (ref: SlotInformationIpAddresses | null) => string | null;
readonly NeighborhoodWatch: (ref: NeighborhoodWatch | null) => string | null;
readonly SWVersion: (ref: SWVersion | null) => string | null;
readonly InternalHW: (ref: InternalHW | null) => string | null;
readonly InternalHWSgmii: (ref: InternalHWSgmii | null) => string | null;
readonly MEMORY: (ref: MEMORY | null) => string | null;
readonly SPD: (ref: SPD | null) => string | null;
readonly ECC: (ref: ECC | null) => string | null;
readonly Device: (ref: Device | null) => string | null;
readonly PCBInfo: (ref: PCBInfo | null) => string | null;
readonly DeviceInfo: (ref: DeviceInfo | null) => string | null;
readonly Revision: (x: Revision | null) => number[] | null;
readonly CompileInfo: (ref: CompileInfo | null) => string | null;
};
export declare type QSFPError = "OK" | "LOW_WARNING" | "HIGH_WARNING" | "LOW_ALARM" | "HIGH_ALARM";
/**
if RAM calibration failed and rebooting does not fix the issue, please
contact customer support
*/
export declare type RAMCALIBRATION = "Successful" | "Unknown" | "Failed";
export declare type BOARDPOS = "BOTTOM_LEFT" | "BOTTOM_RIGHT" | "MID_LEFT" | "MID_CENTER" | "MID_RIGHT" | "TOP_LEFT" | "TOP_CENTER" | "TOP_RIGHT" | "UNKNOWN";
export declare class CompileInfo {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get hg(): VScript.rKeyword<string, string, CompileInfo>;
get user(): VScript.rKeyword<string, string, CompileInfo>;
get time(): VScript.rKeyword<string, string, CompileInfo>;
get proj(): VScript.rKeyword<string, string, CompileInfo>;
}
export interface Revision {
major: number;
minor: number;
}
export declare class DeviceInfo {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get type(): VScript.rKeyword<string, string, DeviceInfo>;
get revision(): VScript.rKeyword<any, Revision | null, this>;
get serial(): VScript.rKeyword<string, string, DeviceInfo>;
}
export declare class PCBInfo {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get type(): VScript.rKeyword<string, string, PCBInfo>;
get revision(): VScript.rKeyword<any, Revision | null, this>;
get serial(): VScript.rKeyword<string, string, PCBInfo>;
get vendor(): VScript.rKeyword<string, string, PCBInfo>;
get date(): VScript.rKeyword<string, string, PCBInfo>;
}
export declare class PCBInfoAsTableRow extends PCBInfo {
readonly enclosing_table: VScript.StronglyTypedTable<PCBInfo>;
readonly index: number;
constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<PCBInfo>);
}
export declare class Device {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get info(): DeviceInfo;
get pcb(): VScript.StronglyTypedTable<PCBInfo, VScript.TableRowView<PCBInfo>>;
}
export declare class ECC {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
/**
Corrected errors
*/
get ce_count(): VScript.rKeyword<number, number, ECC>;
/**
Uncorrected errors
*/
get ue_count(): VScript.rKeyword<number, number, ECC>;
}
export declare class SPD {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
/**
ID code of the module manufacturer.
0x2C80 = Micron
0x5207 = Memphis
*/
get module_manufacturer(): VScript.rKeyword<number, number, SPD>;
/**
ID code of the DRAM chips manufacturer.
0xAD80 = SK Hynix
0xCE80 = Samsung
0x2C80 = Micron
*/
get dram_manufacturer(): VScript.rKeyword<number, number, SPD>;
get year(): VScript.rKeyword<number, number, SPD>;
get week(): VScript.rKeyword<number, number, SPD>;
get sn(): VScript.rKeyword<[number, number, number, number], [number, number, number, number], SPD>;
get pn(): VScript.rKeyword<string, string, SPD>;
get revision(): VScript.rKeyword<number, number, SPD>;
}
export declare class MEMORY {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
/**
if RAM calibration failed and rebooting does not fix the issue, please
contact customer support
*/
get ram_sodimm1(): VScript.rKeyword<"Unknown" | "Successful" | "Failed", "Unknown" | "Successful" | "Failed", MEMORY>;
/**
if RAM calibration failed and rebooting does not fix the issue, please
contact customer support
*/
get ram_sodimm2(): VScript.rKeyword<"Unknown" | "Successful" | "Failed", "Unknown" | "Successful" | "Failed", MEMORY>;
/**
if RAM calibration failed and rebooting does not fix the issue, please
contact customer support
*/
get ram_u16(): VScript.rKeyword<"Unknown" | "Successful" | "Failed", "Unknown" | "Successful" | "Failed", MEMORY>;
/**
J101
*/
get spd_sodimm1(): SPD;
/**
J111
*/
get spd_sodimm2(): SPD;
get spd_cpu(): SPD;
}
export declare type PCIESPEED = "UNKNOWN" | "GT_2_5" | "GT_5_0";
declare class InternalHWSgmii {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get link_up(): VScript.rKeyword<boolean, boolean, InternalHWSgmii>;
get crc_errors(): VScript.rKeyword<number, number, InternalHWSgmii>;
get pcs_errors(): VScript.rKeyword<number, number, InternalHWSgmii>;
}
export declare class InternalHW {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get alert_level(): VScript.rKeyword<_Primitives.AlertLevel, _Primitives.AlertLevel, InternalHW>;
/**
Active PCIe lanes - should be 4
*/
get pcie_lanes(): VScript.rKeyword<number, number, InternalHW>;
/**
Active PCIe speed - should be GT_5_0
*/
get pcie_speed(): VScript.rKeyword<PCIESPEED, PCIESPEED, InternalHW>;
get sgmii(): VScript.StronglyTypedArray<InternalHW, InternalHWSgmii, VScript.RowView<InternalHWSgmii>>;
}
export declare class SWVersion {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get version(): VScript.rKeyword<string, string, SWVersion>;
get timestamp(): VScript.rKeyword<string, string, SWVersion>;
}
export declare type FPGASelection = "AVP" | "AVP_40GbE" | "DMV_40GbE" | "UDX_40GbE" | "J2KD" | "J2KD_40GbE";
export declare class NeighborhoodWatch {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get connected(): VScript.rKeyword<boolean, boolean, NeighborhoodWatch>;
get neighbor_info(): VScript.rKeyword<string, string, NeighborhoodWatch>;
get alert_level(): VScript.rKeyword<_Primitives.AlertLevel, _Primitives.AlertLevel, NeighborhoodWatch>;
/**
if this is set to true, successfully parsed neighbor info lines will be
filtered from the output
*/
get filter_neighbor_info(): VScript.rwKeyword<boolean, boolean, NeighborhoodWatch>;
get output(): VScript.rKeyword<string, string, NeighborhoodWatch>;
}
declare class SlotInformationIpAddresses {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get port(): VScript.rKeyword<_Primitives.NetworkPortID, _Primitives.NetworkPortID, SlotInformationIpAddresses>;
get ip_address(): VScript.rKeyword<string, string, SlotInformationIpAddresses>;
}
export declare class SlotInformation {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get location(): VScript.rKeyword<BOARDPOS, BOARDPOS, SlotInformation>;
get version(): VScript.rKeyword<string, string, SlotInformation>;
get temperature(): VScript.rKeyword<number, number, SlotInformation>;
get ip_addresses(): VScript.StronglyTypedTable<SlotInformationIpAddresses, VScript.TableRowView<SlotInformationIpAddresses>>;
}
export declare class SlotInformationAsTableRow extends SlotInformation {
readonly enclosing_table: VScript.StronglyTypedTable<SlotInformation>;
readonly index: number;
constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<SlotInformation>);
}
export declare class PSU {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get alert_level(): VScript.rKeyword<_Primitives.AlertLevel, _Primitives.AlertLevel, PSU>;
get vin(): VScript.rKeyword<number, number, PSU>;
get iin(): VScript.rKeyword<number, number, PSU>;
get vout(): VScript.rKeyword<number, number, PSU>;
get iout(): VScript.rKeyword<number, number, PSU>;
get temp1(): VScript.rKeyword<number, number, PSU>;
get temp2(): VScript.rKeyword<number, number, PSU>;
get temp_hotspot(): VScript.rKeyword<number, number, PSU>;
get on(): VScript.rKeyword<boolean, boolean, PSU>;
get fanspeed(): VScript.rKeyword<number, number, PSU>;
get current_fanspeed_profile(): VScript.rKeyword<number, number, PSU>;
}
export declare class PSUAsTableRow extends PSU {
readonly enclosing_table: VScript.StronglyTypedTable<PSU>;
readonly index: number;
constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<PSU>);
}
declare class QSFPRxPower {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get u_w(): VScript.rKeyword<number, number, QSFPRxPower>;
get d_bm(): VScript.rKeyword<number, number, QSFPRxPower>;
get error(): VScript.rKeyword<QSFPError, QSFPError, QSFPRxPower>;
}
export declare class QSFP {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get vendor_name(): VScript.rKeyword<string, string, QSFP>;
/**
IEEE company ID
*/
get vendor_oui(): VScript.rKeyword<[number, number, number], [number, number, number], QSFP>;
get vendor_pn(): VScript.rKeyword<string, string, QSFP>;
get vendor_rev(): VScript.rKeyword<string, string, QSFP>;
get vendor_sn(): VScript.rKeyword<string, string, QSFP>;
get date_code(): VScript.rKeyword<string, string, QSFP>;
get temperature(): VScript.rKeyword<number, number, QSFP>;
get temp_error(): VScript.rKeyword<QSFPError, QSFPError, QSFP>;
get rx_power(): VScript.StronglyTypedArray<QSFP, QSFPRxPower, VScript.RowView<QSFPRxPower>>;
}
export declare class QSFPAsTableRow extends QSFP {
readonly enclosing_table: VScript.StronglyTypedTable<QSFP>;
readonly index: number;
constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<QSFP>);
}
export declare class FanSpeed {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get id(): VScript.rKeyword<string, string, FanSpeed>;
get alert_level(): VScript.rKeyword<_Primitives.AlertLevel, _Primitives.AlertLevel, FanSpeed>;
get speed(): VScript.rKeyword<number, number, FanSpeed>;
}
export declare class FanSpeedAsTableRow extends FanSpeed {
readonly enclosing_table: VScript.StronglyTypedTable<FanSpeed>;
readonly index: number;
constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<FanSpeed>);
}
declare class AllTemperature {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get alert_level(): VScript.rKeyword<_Primitives.AlertLevel, _Primitives.AlertLevel, AllTemperature>;
get fpga_int(): VScript.rKeyword<number, number, AllTemperature>;
get fpga_ext(): VScript.rKeyword<number, number, AllTemperature>;
get cpu(): VScript.rKeyword<number, number, AllTemperature>;
/**
Temperature of U21 in °C
*/
get u21(): VScript.rKeyword<number, number, AllTemperature>;
/**
Temperature of U22 in °C
*/
get u22(): VScript.rKeyword<number, number, AllTemperature>;
/**
Temperature of Fan-Controller (U24) in °C
*/
get fan_controller(): VScript.rKeyword<number, number, AllTemperature>;
/**
Temperature of U42 in °C
*/
get p0v95_t1(): VScript.rKeyword<number, number, AllTemperature>;
/**
Temperature of U43 in °C
*/
get p0v95_t2(): VScript.rKeyword<number, number, AllTemperature>;
/**
Temperature of U45 in °C
*/
get p1v1_p1v2(): VScript.rKeyword<number, number, AllTemperature>;
/**
Temperature of U44 in °C
*/
get p1v8(): VScript.rKeyword<number, number, AllTemperature>;
/**
Temperature of IO-Board in °C
*/
get ioboard(): VScript.rKeyword<number, number, AllTemperature>;
/**
Temperature of FPGA-SODIMM 1 (J101) in °C
*/
get fpga_sodimm1(): VScript.rKeyword<number, number, AllTemperature>;
/**
Temperature of FPGA-SODIMM 2 (J111) in °C
*/
get fpga_sodimm2(): VScript.rKeyword<number, number, AllTemperature>;
/**
Temperature of CPU-SODIMM (J71) in °C
*/
get cpu_sodimm(): VScript.rKeyword<number, number, AllTemperature>;
/**
Temperature of U2 in °C
*/
get mgmt_phy(): VScript.rKeyword<number, number, AllTemperature>;
/**
Total minutes spent at overtemperature, where overtemperature is defined
as follows:
`CPU`: 100 °C
`CPU_SODIMM`: 75 °C
`MGMT_PHY`: 125 °C
`FPGA_SODIMM1`: 75 °C
`FPGA_SODIMM2`: 75 °C
`FAN_CONTROLLER`: 70 °C
`FPGA_EXT`: 100 °C
`FPGA_INT`: 105 °C
`P0V95_T1`: 125 °C
`P0V95_T2`: 125 °C
`P1V1_P1V2` 125 °C
`P1V8`: 125 °C
`U21`: 85 °C
`U22`: 70 °C
*/
get accumulated_overtemperature_time(): VScript.rKeyword<number, number, AllTemperature>;
get current_fanspeed_profile(): VScript.rKeyword<number, number, AllTemperature>;
}
declare class AllPower {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
/**
Power usage for P0V95 in W
*/
get p0v95(): VScript.rKeyword<number, number, AllPower>;
/**
Power usage for P1V1 and P1V2 in W
*/
get p1v1_1v2(): VScript.rKeyword<number, number, AllPower>;
/**
Power usage for P1V8 in W
*/
get p1v8(): VScript.rKeyword<number, number, AllPower>;
}
declare class AllPartitions {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get booted(): VScript.rKeyword<string | null, SWVersion | null, AllPartitions>;
get recovery(): SWVersion;
get system0(): SWVersion;
get system1(): SWVersion;
}
declare class AllSysinfo {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
/**
System runtime since boot
*/
get uptime(): VScript.rKeyword<number, number, AllSysinfo>;
/**
Load average for 1, 5 and 15 minutes
*/
get load_avg(): VScript.rKeyword<[number, number, number], [number, number, number], AllSysinfo>;
/**
Free memory in MB
*/
get freeram(): VScript.rKeyword<number, number, AllSysinfo>;
/**
Number of running processes
*/
get procs(): VScript.rKeyword<number, number, AllSysinfo>;
/**
Number of currently active CPU cores
*/
get num_cores(): VScript.rKeyword<number, number, AllSysinfo>;
}
declare class AllUsrinfo {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
/**
this should be a brief, human-readable description that will be displayed
within the web UI
*/
get short_desc(): VScript.rwKeyword<string, string, AllUsrinfo>;
/**
this should be a detailed, human-readable description that will be
displayed within the web UI
*/
get long_desc(): VScript.rwKeyword<string, string, AllUsrinfo>;
/**
enter a towel owner to mark this machine as reserved. Like a physical
towel, this serves as a declaration of interest only and does not provide
any protection against unauthorized access
*/
get towel(): VScript.rwKeyword<string, string, AllUsrinfo>;
/**
this is a transient status field that does not persist across machine
restarts. It can be used to, e.g., signal a machine's current task within
an automated testing environment
*/
get cur_status(): VScript.rwKeyword<string, string, AllUsrinfo>;
}
declare class AllEcc {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get cpu_internal(): ECC;
get cpu_memory(): ECC;
}
declare class AllServices {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
/**
Enables Avahi daemon (mDNS/DNS-SD)
*/
get avahi(): VScript.duplexKeyword<boolean, boolean, AllServices>;
/**
Enables SNMP daemon
*/
get snmp(): VScript.duplexKeyword<boolean, boolean, AllServices>;
}
declare class AllCommandLogging {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get log_commands_to_syslog(): VScript.rwKeyword<boolean, boolean, AllCommandLogging>;
get include_sender_id(): VScript.rwKeyword<boolean, boolean, AllCommandLogging>;
get include_data(): VScript.rwKeyword<boolean, boolean, AllCommandLogging>;
}
export declare class All {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get barebox_version(): VScript.rKeyword<string, string, All>;
get barebox_state(): VScript.rKeyword<string, string, All>;
get booted_partition(): VScript.rKeyword<string, string, All>;
get watchdog_version(): VScript.rKeyword<any, Revision | null, this>;
/**
FPGA debug bus at last reboot
*/
get previous_dbg_bus(): VScript.rKeyword<string, string, All>;
/**
Watchdog event log - contains boot reason and times
*/
get watchdog_event_log(): VScript.rKeyword<string, string, All>;
get board_location(): VScript.rKeyword<BOARDPOS, BOARDPOS, All>;
/**
Currently loaded FPGA
*/
get selected_fpga(): VScript.rKeyword<FPGASelection, FPGASelection, All>;
/**
Change which FPGA to load on next reboot
*/
get select_fpga(): VScript.duplexKeyword<FPGASelection, FPGASelection, All>;
/**
@brief Perform a reboot of the blade
@desc Type in 'reboot' to reboot the current partition. Type in 'system0'
or 'system1' to reboot to the respective partition.
*/
get reboot(): VScript.rwKeyword<string, string, All>;
/**
@brief Perform a power cycle
@desc Interrupt blade power for 3 seconds
*/
get powercycle(): VScript.rwKeyword<string, string, All>;
/**
@brief Reset NVRAM
@desc Enter /reset/ to clear all settings and reboot
*/
get reset(): VScript.rwKeyword<string, string, All>;
get temperature(): AllTemperature;
get power(): AllPower;
get fan_speed(): VScript.StronglyTypedTable<FanSpeed, VScript.TableRowView<FanSpeed>>;
get partitions(): AllPartitions;
get sysinfo(): AllSysinfo;
get usrinfo(): AllUsrinfo;
get neighborhood_watch(): NeighborhoodWatch;
get psu(): VScript.StronglyTypedTable<PSU, VScript.TableRowView<PSU>>;
get qsfp(): VScript.StronglyTypedTable<QSFP, VScript.TableRowView<QSFP>>;
get ecc(): AllEcc;
get fpga(): CompileInfo;
get device(): Device;
get io_board(): Device;
get fan_board(): Device;
get frame(): Device;
get memory(): MEMORY;
get internal_hw(): InternalHW;
get slots(): VScript.StronglyTypedTable<SlotInformation, VScript.TableRowView<SlotInformation>>;
get services(): AllServices;
get command_logging(): AllCommandLogging;
}
export declare const Enums: {
readonly FPGASelection: FPGASelection[];
readonly PCIESPEED: PCIESPEED[];
readonly BOARDPOS: BOARDPOS[];
readonly RAMCALIBRATION: ("Unknown" | "Successful" | "Failed")[];
readonly QSFPError: QSFPError[];
};
export {};