Documentation
¶
Index ¶
- Constants
- type Address
- type AdminState
- type AuthMethod
- type AutoEvent
- type BaseAddress
- type BaseReading
- type BinaryReading
- type ChannelType
- type DBTimestamp
- type Device
- type DeviceCommand
- type DeviceProfile
- type DeviceResource
- type DeviceService
- type DiscoveredDevice
- type EmailAddress
- type Event
- type Interval
- type IntervalAction
- type LogEntry
- type MQTTPubAddress
- type Notification
- type NotificationSeverity
- type NotificationStatus
- type ObjectReading
- type OperatingState
- type ProtocolProperties
- type ProvisionWatcher
- type RESTAddress
- type Reading
- type ResourceOperation
- type ResourceProperties
- type SimpleReading
- type Subscription
- type Transmission
- type TransmissionRecord
- type TransmissionStatus
Constants ¶
const ( // Locked : device is locked // Unlocked : device is unlocked Locked = "LOCKED" Unlocked = "UNLOCKED" )
Constants for AdminState
const ( Rest = "REST" Email = "EMAIL" )
Constants for ChannelType
const ( Minor = "MINOR" Critical = "CRITICAL" Normal = "NORMAL" )
Constants for NotificationSeverity
const ( New = "NEW" Processed = "PROCESSED" EscalationSubscriptionName = "ESCALATION" EscalationPrefix = "escalated-" EscalatedContentNotice = "This notification is escalated by the transmission" )
Constants for NotificationStatus
const ( Failed = "FAILED" Sent = "SENT" Acknowledged = "ACKNOWLEDGED" RESENDING = "RESENDING" )
Constants for TransmissionStatus
const ( Up = "UP" Down = "DOWN" Unknown = "UNKNOWN" )
Constants for OperatingState
const ( TraceLog = "TRACE" DebugLog = "DEBUG" InfoLog = "INFO" WarnLog = "WARN" ErrorLog = "ERROR" )
These constants identify the log levels in order of increasing severity.
const (
Escalated = "ESCALATED"
)
Constants for both NotificationStatus and TransmissionStatus
Variables ¶
This section is empty.
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 AuthMethod ¶
type AuthMethod string
AuthMethod controls the authentication method to be applied to outbound http requests for interval actions
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 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 ChannelType ¶
type ChannelType string
ChannelType controls the range of values which constitute valid delivery types for channels
type DBTimestamp ¶
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
ProfileName string
AutoEvents []AutoEvent
Tags map[string]any
Properties map[string]any
}
type DeviceCommand ¶
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 DeviceService ¶
type DeviceService struct {
DBTimestamp
Id string
Name string
Description string
Labels []string
BaseAddress string
AdminState AdminState
}
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 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 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 ¶
UnmarshalJSON implements the Unmarshaler interface for the LogEntry type
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 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 ProtocolProperties ¶
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 ResourceProperties ¶
type SimpleReading ¶
type SimpleReading struct {
BaseReading `json:",inline"`
Value string
}
func (SimpleReading) GetBaseReading ¶
func (s SimpleReading) GetBaseReading() BaseReading
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.
Source Files
¶
- address.go
- autoevent.go
- consts.go
- dbtimestamp.go
- device.go
- devicecommand.go
- deviceprofile.go
- deviceresource.go
- deviceservice.go
- discovereddevice.go
- event.go
- interval.go
- intervalaction.go
- log_entry.go
- notification.go
- provisionwatcher.go
- reading.go
- resourceoperation.go
- resourceproperties.go
- subscription.go
- transmission.go
- transmissionrecord.go