You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.3 KiB
42 lines
1.3 KiB
package m20220509170100
|
|
|
|
import (
|
|
"github.com/analogj/scrutiny/webapp/backend/pkg"
|
|
"time"
|
|
)
|
|
|
|
type Device struct {
|
|
//GORM attributes, see: http://gorm.io/docs/conventions.html
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
DeletedAt *time.Time
|
|
|
|
WWN string `json:"wwn" gorm:"primary_key"`
|
|
|
|
DeviceName string `json:"device_name"`
|
|
DeviceUUID string `json:"device_uuid"`
|
|
DeviceSerialID string `json:"device_serial_id"`
|
|
DeviceLabel string `json:"device_label"`
|
|
|
|
Manufacturer string `json:"manufacturer"`
|
|
ModelName string `json:"model_name"`
|
|
InterfaceType string `json:"interface_type"`
|
|
InterfaceSpeed string `json:"interface_speed"`
|
|
SerialNumber string `json:"serial_number"`
|
|
Firmware string `json:"firmware"`
|
|
RotationSpeed int `json:"rotational_speed"`
|
|
Capacity int64 `json:"capacity"`
|
|
FormFactor string `json:"form_factor"`
|
|
SmartSupport bool `json:"smart_support"`
|
|
DeviceProtocol string `json:"device_protocol"` //protocol determines which smart attribute types are available (ATA, NVMe, SCSI)
|
|
DeviceType string `json:"device_type"` //device type is used for querying with -d/t flag, should only be used by collector.
|
|
|
|
// User provided metadata
|
|
Label string `json:"label"`
|
|
HostId string `json:"host_id"`
|
|
|
|
// Data set by Scrutiny
|
|
DeviceStatus pkg.DeviceStatus `json:"device_status"`
|
|
}
|
|
|