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 ( 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