introduce basic fact collection
This commit is contained in:
49
client/vendor/github.com/zcalusic/sysinfo/sysinfo.go
generated
vendored
Normal file
49
client/vendor/github.com/zcalusic/sysinfo/sysinfo.go
generated
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
// Copyright © 2016 Zlatko Čalušić
|
||||
//
|
||||
// Use of this source code is governed by an MIT-style license that can be found in the LICENSE file.
|
||||
|
||||
// Package sysinfo is a Go library providing Linux OS / kernel / hardware system information.
|
||||
package sysinfo
|
||||
|
||||
// SysInfo struct encapsulates all other information structs.
|
||||
type SysInfo struct {
|
||||
Meta Meta `json:"sysinfo"`
|
||||
Node Node `json:"node"`
|
||||
OS OS `json:"os"`
|
||||
Kernel Kernel `json:"kernel"`
|
||||
Product Product `json:"product"`
|
||||
Board Board `json:"board"`
|
||||
Chassis Chassis `json:"chassis"`
|
||||
BIOS BIOS `json:"bios"`
|
||||
CPU CPU `json:"cpu"`
|
||||
Memory Memory `json:"memory"`
|
||||
Storage []StorageDevice `json:"storage,omitempty"`
|
||||
Network []NetworkDevice `json:"network,omitempty"`
|
||||
}
|
||||
|
||||
// GetSysInfo gathers all available system information.
|
||||
func (si *SysInfo) GetSysInfo() {
|
||||
// Meta info
|
||||
si.getMetaInfo()
|
||||
|
||||
// DMI info
|
||||
si.getProductInfo()
|
||||
si.getBoardInfo()
|
||||
si.getChassisInfo()
|
||||
si.getBIOSInfo()
|
||||
|
||||
// SMBIOS info
|
||||
si.getMemoryInfo()
|
||||
|
||||
// Node info
|
||||
si.getNodeInfo() // depends on BIOS info
|
||||
|
||||
// Hardware info
|
||||
si.getCPUInfo() // depends on Node info
|
||||
si.getStorageInfo()
|
||||
si.getNetworkInfo()
|
||||
|
||||
// Software info
|
||||
si.getOSInfo()
|
||||
si.getKernelInfo()
|
||||
}
|
||||
Reference in New Issue
Block a user