models

package
v1.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 29, 2024 License: Apache-2.0 Imports: 7 Imported by: 8

Documentation

Index

Constants

View Source
const (
	// Locked : device is locked
	// Unlocked : device is unlocked
	Locked   = "LOCKED"
	Unlocked = "UNLOCKED"
)

Constants for AdminState

View Source
const (
	Rest  = "REST"
	Email = "EMAIL"
)

Constants for ChannelType

View Source
const (
	Minor    = "MINOR"
	Critical = "CRITICAL"
	Normal   = "NORMAL"
)

Constants for NotificationSeverity

View Source
const (
	New       = "NEW"
	Processed = "PROCESSED"

	EscalationSubscriptionName = "ESCALATION"
	EscalationPrefix           = "escalated-"
	EscalatedContentNotice     = "This notification is escalated by the transmission"
)

Constants for NotificationStatus

View Source
const (
	Failed       = "FAILED"
	Sent         = "SENT"
	Acknowledged = "ACKNOWLEDGED"
	RESENDING    = "RESENDING"
)

Constants for TransmissionStatus

View Source
const (
	Up      = "UP"
	Down    = "DOWN"
	Unknown = "UNKNOWN"
)

Constants for OperatingState

View Source
const (
	TraceLog = "TRACE"
	DebugLog = "DEBUG"
	InfoLog  = "INFO"
	WarnLog  = "WARN"
	ErrorLog = "ERROR"
)

These constants identify the log levels in order of increasing severity.

View Source
const (
	Escalated = "ESCALATED"
)

Constants for both NotificationStatus and TransmissionStatus

Variables

View Source
var SeverityOrder = map[AlarmSeverity]int{
	AlarmOffline:  5,
	AlarmCritical: 4,
	AlarmMajor:    3,
	AlarmMinor:    2,
	AlarmWarning:  1,
	AlarmNone:     0,
}

SeverityOrder defines the order of severity levels.

Functions

This section is empty.

Types

type Address

type Address interface {
	GetBaseAddress() BaseAddress
}

type AdminState

type AdminState string

AdminState controls the range of values which constitute valid administrative states for a device

type Alarm

type Alarm struct {
	Message     string        // The message or description of the alarm.
	Severity    AlarmSeverity // The severity level of the alarm.
	Job         string
	Resolved    bool   // Indicates if the alarm is resolved.
	Description string // Additional description of the alarm.
	Annotations map[string]string
}

Alarm represents an alarm message from a device.

type AlarmSeverity

type AlarmSeverity string

Constants for NotificationSeverity

const (
	AlarmNone     AlarmSeverity = "None"
	AlarmCritical AlarmSeverity = "Critical"
	AlarmMajor    AlarmSeverity = "Major"
	AlarmMinor    AlarmSeverity = "Minor"
	AlarmWarning  AlarmSeverity = "Warning"
	AlarmOffline  AlarmSeverity = "Offline" //for backward compatity
)

func ToAlarmSeverity

func ToAlarmSeverity(str string) AlarmSeverity

Function to convert a string representation to AlarmSeverity.

func (*AlarmSeverity) UnmarshalText

func (a *AlarmSeverity) UnmarshalText(text []byte) error

type Application

type Application struct {
	DBTimestamp
	Id             string
	Name           string
	Description    string
	OrganizationId string
	Devices        []Device
	Layer          []Layer
	Latitude       float64
	Longitude      float64
}

Device and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-metadata/2.1.0#/Device

type ApplicationDevice

type ApplicationDevice struct {
	Id            string
	ApplicationId string
	DeviceId      string
	Application   Application
	Device        Device
}

type AuthMethod

type AuthMethod string

AuthMethod controls the authentication method to be applied to outbound http requests for interval actions

type AutoEvent

type AutoEvent struct {
	Interval   string
	OnChange   bool
	SourceName string
}

type BaseAddress

type BaseAddress struct {
	// Type is used to identify the Address type, i.e., REST or MQTT
	Type string

	// Common properties
	Host string
	Port int
}

BaseAddress is a base struct contains the common fields, such as type, host, port, and so on.

type BaseReading

type BaseReading struct {
	Id           string
	Origin       int64
	DeviceName   string
	ResourceName string
	ProfileName  string
	ValueType    string
	Units        string
	Tags         map[string]any
}

type BinaryReading

type BinaryReading struct {
	BaseReading `json:",inline"`
	BinaryValue []byte
	MediaType   string
}

func (BinaryReading) GetBaseReading

func (b BinaryReading) GetBaseReading() BaseReading

Implement GetBaseReading() method in order for BinaryReading and SimpleReading, ObjectReading structs to implement the abstract Reading interface and then be used as a Reading. Also, the Reading interface can access the BaseReading fields. This is Golang's way to implement inheritance.

type BulkOperation

type BulkOperation struct {
	RequestId      string
	DeviceProfiles []DeviceProfile
	Devices        []Device
	Relations      []Link
	Applications   []Application
}

type BulkOperationEvent

type BulkOperationEvent struct {
	Action  BulkOperationEventActionKind
	Type    string // deviceProfiles, devices, relations or applications
	Success bool
	Error   string
	Data    any
}

type BulkOperationEventActionKind

type BulkOperationEventActionKind string

BulkOperationEvent is a single event that the bulk process performs event can be, insert, update or delete and can be performed on deviceProfiles, devices, relations or applications

const (
	BulkOperationEventActionKind_CREATE    BulkOperationEventActionKind = "CREATE"
	BulkOperationEventActionKind_UPDATE    BulkOperationEventActionKind = "UPDATE"
	BulkOperationEventActionKind_DELETE    BulkOperationEventActionKind = "DELETE"
	BulkOperationEventActionKind_COMPLETED BulkOperationEventActionKind = "COMPLETED"
)

type BulkOperationStatus

BulkOperationStatus

func NewBulkOperationStatusUpdateEvent

func NewBulkOperationStatusUpdateEvent() BulkOperationStatus

type BulkOperationStatusKind

type BulkOperationStatusKind string
const (
	BulkOperationStatusKind_IN_PROGRESS BulkOperationStatusKind = "RUNNING"
	BulkOperationStatusKind_COMPLETED   BulkOperationStatusKind = "DONE"
	BulkOperationStatusKind_FAILED      BulkOperationStatusKind = "ERROR"
)

type ChannelType

type ChannelType string

ChannelType controls the range of values which constitute valid delivery types for channels

type DBTimestamp

type DBTimestamp struct {
	Created  int64 // Created is a timestamp indicating when the entity was created.
	Modified int64 // Modified is a timestamp indicating when the entity was last modified.
}

type Device

type Device struct {
	DBTimestamp
	Id             string
	Name           string
	Description    string
	AdminState     AdminState
	OperatingState OperatingState
	Protocols      map[string]ProtocolProperties
	Labels         []string
	Location       interface{}
	ServiceName    string
	Serial         string
	ProfileName    string
	AutoEvents     []AutoEvent
	Manufacturer   string
	Model          string
	Tags           map[string]any
	Properties     map[string]any
}

type DeviceAlarm

type DeviceAlarm struct {
	Id         string      // Unique identifier for the update.
	DeviceName string      // The name or identifier of the device.
	Origin     int64       // The origin or source of the status update.
	Alarm      Alarm       // The alarm information (nil if it's a status).
	Status     *StatusKind // status update triggered by the alarm (optional)
}

func NewDeviceAlarm

func NewDeviceAlarm(deviceName string, msg string, severity AlarmSeverity, job string) DeviceAlarm

type DeviceAlarmHistory

type DeviceAlarmHistory struct {
	DeviceAlarm
	StartAt int64
	EndAt   *int64
}

type DeviceCommand

type DeviceCommand struct {
	Name               string
	IsHidden           bool
	ReadWrite          string
	ResourceOperations []ResourceOperation
	Tags               map[string]any
}

type DeviceHistory

type DeviceHistory struct {
	DBTimestamp
	Version int64
	Device
	HistoryUser  string // user who create the history record
	HistoryNotes string // additional notes
	HistoryType  string // type of history record
	HistoryDate  int64  // date of history record creation
	Model        string
	Manufacturer string
}

Device and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-metadata/2.x#/Device Model fields are same as the DTOs documented by this swagger. Exceptions, if any, are noted below.

type DeviceModel

type DeviceModel struct {
	Name              string
	ManufacturerName  string
	DeviceProfileName string
	Description       string
}

type DeviceProfile

type DeviceProfile struct {
	DBTimestamp
	Description     string
	Id              string
	Name            string
	Manufacturer    string
	Model           string
	Labels          []string
	DeviceResources []DeviceResource
	DeviceCommands  []DeviceCommand
}

type DeviceResource

type DeviceResource struct {
	Description string
	Name        string
	IsHidden    bool
	Properties  ResourceProperties
	Attributes  map[string]interface{}
	Tags        map[string]any
}

type DeviceService

type DeviceService struct {
	DBTimestamp
	Id          string
	Name        string
	Description string
	Labels      []string
	BaseAddress string
	AdminState  AdminState
}

type DeviceStatus

type DeviceStatus struct {
	DeviceName string     // The name or identifier of the device.
	Status     StatusKind // The current status of the device.
	Origin     int64      // The origin or source of the status update.
	LastUpdate int64      // The timestamp of the last status update.

	AlarmCount  int64         // The number of alarms associated with the device.
	MaxSeverity AlarmSeverity `default:"None"` // The maximum severity level of the alarms for the device.
	Silence     SilenceKind   `default:"None"` // The silent status of the device.

}

// DeviceStatus represents the status information of a device.

func (*DeviceStatus) UnmarshalJSON

func (d *DeviceStatus) UnmarshalJSON(data []byte) error

type DiscoveredDevice

type DiscoveredDevice struct {
	ProfileName string
	AdminState  AdminState
	AutoEvents  []AutoEvent
	Properties  map[string]any
}

type EmailAddress

type EmailAddress struct {
	BaseAddress
	Recipients []string
}

EmailAddress is an Email specific struct

func (EmailAddress) GetBaseAddress

func (a EmailAddress) GetBaseAddress() BaseAddress

type Event

type Event struct {
	Id          string
	DeviceName  string
	ProfileName string
	SourceName  string
	Origin      int64
	Readings    []Reading
	Tags        map[string]interface{}
}

type GenericBulkOperationStatusUpdateEvent

type GenericBulkOperationStatusUpdateEvent struct {
	Name    string
	Success bool
}

type Interval

type Interval struct {
	DBTimestamp
	Id       string
	Name     string
	Start    string
	End      string
	Interval string
}

type IntervalAction

type IntervalAction struct {
	DBTimestamp
	Id           string
	Name         string
	IntervalName string
	Content      string
	ContentType  string
	Address      Address
	AdminState   AdminState
	AuthMethod   AuthMethod
}

func (*IntervalAction) UnmarshalJSON

func (intervalAction *IntervalAction) UnmarshalJSON(b []byte) error

type LabelsWithDeviceCount

type LabelsWithDeviceCount struct {
	Labels      string
	DeviceCount int
}

type Layer

type Layer struct {
	Id     string
	Name   string
	Folder string
}
type Link struct {
	DBTimestamp
	Id         string
	DeviceId   string
	TargetId   string
	Properties map[string]interface{}
	Device     Device
	Target     Device
}

Device and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-metadata/2.1.0#/Device

type LogEntry

type LogEntry struct {
	Level         string        `bson:"logLevel,omitempty" json:"logLevel"`
	Args          []interface{} `bson:"args,omitempty" json:"args"`
	OriginService string        `bson:"originService,omitempty" json:"originService"`
	Message       string        `bson:"message,omitempty" json:"message"`
	Created       int64         `bson:"created,omitempty" json:"created"`
	// contains filtered or unexported fields
}

func (*LogEntry) UnmarshalJSON

func (le *LogEntry) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the Unmarshaler interface for the LogEntry type

func (LogEntry) Validate

func (le LogEntry) Validate() (bool, errors.EdgeX)

Validate satisfies the Validator interface

type MQTTPubAddress

type MQTTPubAddress struct {
	BaseAddress
	Publisher      string
	Topic          string
	QoS            int
	KeepAlive      int
	Retained       bool
	AutoReconnect  bool
	ConnectTimeout int
}

MQTTPubAddress is a MQTT specific struct

func (MQTTPubAddress) GetBaseAddress

func (a MQTTPubAddress) GetBaseAddress() BaseAddress

type Manufacturer

type Manufacturer struct {
	Name                    string
	Description             string
	TechnicalReference      string
	AdministrativeReference string
	Address                 string
	Contacts                string
}

type Notification

type Notification struct {
	DBTimestamp
	Category    string
	Content     string
	ContentType string
	Description string
	Id          string
	Labels      []string
	Sender      string
	Severity    NotificationSeverity
	Status      NotificationStatus
}

type NotificationSeverity

type NotificationSeverity string

NotificationSeverity indicates the level of severity for the notification.

type NotificationStatus

type NotificationStatus string

NotificationStatus indicates the current processing status of the notification.

type ObjectReading

type ObjectReading struct {
	BaseReading `json:",inline"`
	ObjectValue interface{}
}

func (ObjectReading) GetBaseReading

func (o ObjectReading) GetBaseReading() BaseReading

type OperatingState

type OperatingState string

OperatingState is an indication of the operations of the device.

type Organization

type Organization struct {
	DBTimestamp
	Id   string
	Name string
}

Device and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-metadata/2.1.0#/Device

type ProtocolProperties

type ProtocolProperties map[string]any

ProtocolProperties contains the device connection information in key/value pair

type ProvisionWatcher

type ProvisionWatcher struct {
	DBTimestamp
	Id                  string
	Name                string
	ServiceName         string
	Labels              []string
	Identifiers         map[string]string
	BlockingIdentifiers map[string][]string
	AdminState          AdminState
	DiscoveredDevice    DiscoveredDevice
}

type RESTAddress

type RESTAddress struct {
	BaseAddress
	Path       string
	HTTPMethod string
}

RESTAddress is a REST specific struct

func (RESTAddress) GetBaseAddress

func (a RESTAddress) GetBaseAddress() BaseAddress

type Reading

type Reading interface {
	GetBaseReading() BaseReading
}

Reading is an abstract interface to be implemented by BinaryReading/SimpleReading

type ResourceOperation

type ResourceOperation struct {
	DeviceResource string
	DefaultValue   string
	Mappings       map[string]string
}

type ResourceProperties

type ResourceProperties struct {
	ValueType    string
	ReadWrite    string
	Units        string
	Minimum      *float64
	Maximum      *float64
	DefaultValue string
	Mask         *uint64
	Shift        *int64
	Scale        *float64
	Offset       *float64
	Base         *float64
	Assertion    string
	MediaType    string
	Optional     map[string]any
}

type SilenceKind

type SilenceKind string

SilenceKind represents the kind of silence a device can have.

const (
	KindNoSilence SilenceKind = "None"      // The device is not silenced.
	KindScheduled SilenceKind = "Scheduled" // The device is silenced for a scheduled maintenance.
	KindOnDemand  SilenceKind = "OnDemand"  // The device is silenced on demand.
)

func (*SilenceKind) UnmarshalText

func (s *SilenceKind) UnmarshalText(text []byte) error

type SimpleReading

type SimpleReading struct {
	BaseReading `json:",inline"`
	Value       string
}

func (SimpleReading) GetBaseReading

func (s SimpleReading) GetBaseReading() BaseReading

type StatusKind

type StatusKind string

StatusKind represents the kind of status a device can have.

const (
	KindUnknown StatusKind = "Unknown"
	KindOnline  StatusKind = "Online"
	KindOffline StatusKind = "Offline"
	KindIdle    StatusKind = "Idle"

	/*not used now*/
	KindStandby     StatusKind = "Standby"
	KindInactive    StatusKind = "Inactive"
	KindMaintenance StatusKind = "Maintenance"
	KindBusy        StatusKind = "Busy"
	KindUpdating    StatusKind = "Updating"
	KindConfiguring StatusKind = "Configuring"
)

func (*StatusKind) UnmarshalText

func (s *StatusKind) UnmarshalText(text []byte) error

type Subscription

type Subscription struct {
	DBTimestamp
	Categories     []string
	Labels         []string
	Channels       []Address
	Description    string
	Id             string
	Receiver       string
	Name           string
	ResendLimit    int
	ResendInterval string
	AdminState     AdminState
}

func (*Subscription) UnmarshalJSON

func (subscription *Subscription) UnmarshalJSON(b []byte) error

type Transmission

type Transmission struct {
	Created          int64
	Id               string
	Channel          Address
	NotificationId   string
	SubscriptionName string
	Records          []TransmissionRecord
	ResendCount      int
	Status           TransmissionStatus
}

func NewTransmission

func NewTransmission(subscriptionName string, channel Address, notificationId string) Transmission

NewTransmission create transmission model with required fields

func (*Transmission) UnmarshalJSON

func (trans *Transmission) UnmarshalJSON(b []byte) error

type TransmissionRecord

type TransmissionRecord struct {
	Status   TransmissionStatus
	Response string
	Sent     int64
}

type TransmissionStatus

type TransmissionStatus string

TransmissionStatus indicates the most recent success/failure of a given transmission attempt.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL