models

package
v2.3.0 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2022 License: Apache-2.0 Imports: 4 Imported by: 44

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

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 AutoEvent

type AutoEvent struct {
	Interval   string
	OnChange   bool
	SourceName string
}

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

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
}

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

type BinaryReading

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

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

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 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
	LastConnected  int64 // Deprecated: will be replaced by Metrics in v3
	LastReported   int64 // Deprecated: will be replaced by Metrics in v3
	Labels         []string
	Location       interface{}
	ServiceName    string
	ProfileName    string
	AutoEvents     []AutoEvent
	Notify         bool
}

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 DeviceCommand

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

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

type DeviceProfile

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

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

type DeviceResource

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

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

type DeviceService

type DeviceService struct {
	DBTimestamp
	Id            string
	Name          string
	Description   string
	LastConnected int64 // Deprecated: will be replaced by Metrics in v3
	LastReported  int64 // Deprecated: will be replaced by Metrics in v3
	Labels        []string
	BaseAddress   string
	AdminState    AdminState
}

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

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{}
}

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

type Interval

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

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

type IntervalAction

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

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

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

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 Notification

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

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

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 added in v2.1.0

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

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

func (ObjectReading) GetBaseReading added in v2.1.0

func (o ObjectReading) GetBaseReading() BaseReading

type OperatingState

type OperatingState string

OperatingState is an indication of the operations of the device.

type ProtocolProperties

type ProtocolProperties map[string]string

ProtocolProperties contains the device connection information in key/value pair

type ProvisionWatcher

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

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

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
}

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

type ResourceProperties

type ResourceProperties struct {
	ValueType    string
	ReadWrite    string
	Units        string
	Minimum      string
	Maximum      string
	DefaultValue string
	Mask         string
	Shift        string
	Scale        string
	Offset       string
	Base         string
	Assertion    string
	MediaType    string
}

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

type SimpleReading

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

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

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
}

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

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
}

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

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