models

package
v0.0.0-...-0fdedec Latest Latest
Warning

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

Go to latest
Published: Mar 8, 2020 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PROFILE          ActionType = "PROFILE"
	DEVICE                      = "DEVICE"
	SERVICE                     = "SERVICE"
	SCHEDULE                    = "SCHEDULE"
	SCHEDULEEVENT               = "SCHEDULEEVENT"
	ADDRESSABLE                 = "ADDRESSABLE"
	VALUEDESCRIPTOR             = "VALUEDESCRIPTOR"
	PROVISIONWATCHER            = "PROVISIONWATCHER"
	REPORT                      = "REPORT"
)
View Source
const (
	// Locked : device is locked
	// Unlocked : device is unlocked
	Locked   = "LOCKED"
	Unlocked = "UNLOCKED"
)
View Source
const (
	Security = "SECURITY"
	Hwhealth = "HW_HEALTH"
	Swhealth = "SW_HEALTH"
)
View Source
const (
	Rest  = "REST"
	Email = "EMAIL"
)
View Source
const (
	EncNone = "NONE"
	EncAes  = "AES"
)

Encryption types

View Source
const (
	Enabled  = "ENABLED"
	Disabled = "DISABLED"
)

Enabled : ENABLED Disabled : DISABLED

View Source
const (
	DestMQTT        = "MQTT_TOPIC"
	DestZMQ         = "ZMQ_TOPIC"
	DestIotCoreMQTT = "IOTCORE_TOPIC"
	DestAzureMQTT   = "AZURE_TOPIC"
	DestRest        = "REST_ENDPOINT"
	DestXMPP        = "XMPP_TOPIC"
	DestAWSMQTT     = "AWS_TOPIC"
)

Export destination types

View Source
const (
	CompNone = "NONE"
	CompGzip = "GZIP"
	CompZip  = "ZIP"
)

Compression algorithm types

View Source
const (
	FormatJSON            = "JSON"
	FormatXML             = "XML"
	FormatSerialized      = "SERIALIZED"
	FormatIoTCoreJSON     = "IOTCORE_JSON"
	FormatAzureJSON       = "AZURE_JSON"
	FormatAWSJSON         = "AWS_JSON"
	FormatCSV             = "CSV"
	FormatThingsBoardJSON = "THINGSBOARD_JSON"
	FormatNOOP            = "NOOP"
)

Data format types

View Source
const (
	NotifyUpdateAdd    = "add"
	NotifyUpdateUpdate = "update"
	NotifyUpdateDelete = "delete"
)
View Source
const (
	Critical = "CRITICAL"
	Normal   = "NORMAL"
)
View Source
const (
	New       = "NEW"
	Processed = "PROCESSED"
	Escalated = "ESCALATED"
)
View Source
const (
	Failed       = "FAILED"
	Sent         = "SENT"
	Acknowledged = "ACKNOWLEDGED"
	Trxescalated = "TRXESCALATED"
)

Variables

This section is empty.

Functions

func IsAdminStateType

func IsAdminStateType(as string) bool

func IsChannelType

func IsChannelType(as string) bool

func IsNotificationsCategory

func IsNotificationsCategory(as string) bool

func IsNotificationsSeverity

func IsNotificationsSeverity(as string) bool

func IsNotificationsStatus

func IsNotificationsStatus(as string) bool

func IsOperatingStateType

func IsOperatingStateType(os string) bool

IsOperatingStateType : return if ostype

func IsTransmissionStatus

func IsTransmissionStatus(as string) bool

Types

type Action

type Action struct {
	Path      string     `json:"path" yaml:"path,omitempty"`           // path used by service for action on a device or sensor
	Responses []Response `json:"responses" yaml:"responses,omitempty"` // responses from get or put requests to service
	URL       string     `json:"url,omitempty" yaml:"url,omitempty"`   // url for requests from command service
}

func (Action) String

func (a Action) String() string

* String() function for formatting

type ActionType

type ActionType string

type Addressable

type Addressable struct {
	BaseObject
	Id         string `json:"id"`
	Name       string `json:"name"`
	Protocol   string `json:"protocol"`    // Protocol for the address (HTTP/TCP)
	HTTPMethod string `json:"method"`      // Method for connecting (i.e. POST)
	Address    string `json:"address"`     // Address of the addressable
	Port       int    `json:"port,Number"` // Port for the address
	Path       string `json:"path"`        // Path for callbacks
	Publisher  string `json:"publisher"`   // For message bus protocols
	User       string `json:"user"`        // User id for authentication
	Password   string `json:"password"`    // Password of the user for authentication for the addressable
	Topic      string `json:"topic"`       // Topic for message bus addressables
}

* This file is the model for addressable in EdgeX * Addressable holds information about a specific address * * Addressable struct

func (Addressable) GetBaseURL

func (a Addressable) GetBaseURL() string

func (Addressable) GetCallbackURL

func (a Addressable) GetCallbackURL() string

Get the callback url for the addressable if all relevant tokens have values. If any token is missing, string will be empty

func (Addressable) MarshalJSON

func (a Addressable) MarshalJSON() ([]byte, error)

Custom marshaling for JSON Create the URL and Base URL Treat the strings as pointers so they can be null in JSON

func (Addressable) String

func (a Addressable) String() string

* String() function for formatting

type AdminState

type AdminState string

AdminState : unlocked or locked

func GetAdminState

func GetAdminState(as string) (AdminState, bool)

func (*AdminState) UnmarshalJSON

func (as *AdminState) UnmarshalJSON(data []byte) error

* Unmarshal the enum type

type AutoEvent

type AutoEvent struct {
	// Frequency indicates how often the specific resource needs to be polled.
	// It represents the number of events per day.
	// For example, 86400 would be once per second, 24 would be once per hour etc.
	Frequency uint32 `json:"frequency,omitempty"`
	// OnChange indicates whether the device service will generate an event only,
	// if the reading value is different from the previous one.
	// If true, only generate events when readings change
	OnChange bool `json:"onChange,omitempty"`
	// Resource indicates the name of the resource in the device profile which describes the event to generate
	Resource string `json:"resource,omitempty"`
}

AutoEvent supports auto-generated events sourced from a device service

func (AutoEvent) String

func (a AutoEvent) String() string

* String function for representing an auto-generated event from a device.

type BaseObject

type BaseObject struct {
	Created  int64 `json:"created,omitempty" yaml:"created,omitempty"`
	Modified int64 `json:"modified,omitempty" yaml:"modified,omitempty"`
	Origin   int64 `json:"origin,omitempty" yaml:"origin,omitempty"`
}

func (*BaseObject) String

func (o *BaseObject) String() string

* String function for representing a device

type CallbackAlert

type CallbackAlert struct {
	ActionType ActionType `json:"type"`
	Id         string     `json:"id"`
}

func (CallbackAlert) MarshalJSON

func (ca CallbackAlert) MarshalJSON() ([]byte, error)

Custom JSON marshaling to turn empty strings into null pointers

func (CallbackAlert) String

func (ca CallbackAlert) String() string

type Channel

type Channel struct {
	Type          ChannelType `json:"type,omitempty"`
	MailAddresses []string    `json:"mailAddresses,omitempty"`
	Url           string      `json:"url,omitempty"`
}

TODO - this is ugly and I want to someday have two different structs of EMailChannel and RESTChannel

func (Channel) String

func (c Channel) String() string

type ChannelType

type ChannelType string

func (*ChannelType) UnmarshalJSON

func (as *ChannelType) UnmarshalJSON(data []byte) error

type Command

type Command struct {
	BaseObject `yaml:",inline"`
	Id         string `json:"id" yaml:"id,omitempty"`
	Name       string `json:"name" yaml:"name,omitempty"` // Command name (unique on the profile)
	Get        *Get   `json:"get" yaml:"get,omitempty"`   // Get Command
	Put        *Put   `json:"put" yaml:"put,omitempty"`   // Put Command
}

* This file is the model for a command in EdgeX * * * Command struct

func (*Command) AllAssociatedValueDescriptors

func (c *Command) AllAssociatedValueDescriptors(vdNames *map[string]string)

Append all the associated value descriptors to the list Associated by PUT command parameters and PUT/GET command return values

func (Command) MarshalJSON

func (c Command) MarshalJSON() ([]byte, error)

Custom marshaling for making empty strings null

func (Command) String

func (c Command) String() string

* String() function for formatting

func (*Command) UnmarshalJSON

func (c *Command) UnmarshalJSON(b []byte) error

type CommandResponse

type CommandResponse struct {
	Id             string         `json:"id"`
	Name           string         `json:"name"`           // Unique name for identifying a device
	AdminState     AdminState     `json:"adminState"`     // Admin state (locked/unlocked)
	OperatingState OperatingState `json:"operatingState"` // Operating state (enabled/disabled)
	LastConnected  int64          `json:"lastConnected"`  // Time (milliseconds) that the device last provided any feedback or responded to any request
	LastReported   int64          `json:"lastReported"`   // Time (milliseconds) that the device reported data to the core microservice
	Labels         []string       `json:"labels"`         // Other labels applied to the device to help with searching
	Location       interface{}    `json:"location"`       // Device service specific location (interface{} is an empty interface so it can be anything)
	Commands       []Command      `json:"commands"`       // Associated Device Profile - Describes the device
}

* This file is the model for the CommandResponse object in EdgeX * * * CommandResponse struct

func CommandResponseFromDevice

func CommandResponseFromDevice(d Device, cmdURL string) CommandResponse

* Create a Command Response struct from a Device Struct

func (CommandResponse) MarshalJSON

func (cr CommandResponse) MarshalJSON() ([]byte, error)

Custom marshaling to make empty strings null

func (CommandResponse) String

func (d CommandResponse) String() string

* String function for representing a device

type DescribedObject

type DescribedObject struct {
	BaseObject  `yaml:",inline"`
	Description string `json:"description" yaml:"description,omitempty"`
}

func (DescribedObject) String

func (o DescribedObject) String() string

* String function for DescribedObject

type Device

type Device struct {
	DescribedObject
	Id             string                        `json:"id"`
	Name           string                        `json:"name"`           // Unique name for identifying a device
	AdminState     AdminState                    `json:"adminState"`     // Admin state (locked/unlocked)
	OperatingState OperatingState                `json:"operatingState"` // Operating state (enabled/disabled)
	Protocols      map[string]ProtocolProperties `json:"protocols"`      // A map of supported protocols for the given device
	LastConnected  int64                         `json:"lastConnected"`  // Time (milliseconds) that the device last provided any feedback or responded to any request
	LastReported   int64                         `json:"lastReported"`   // Time (milliseconds) that the device reported data to the core microservice
	Labels         []string                      `json:"labels"`         // Other labels applied to the device to help with searching
	Location       interface{}                   `json:"location"`       // Device service specific location (interface{} is an empty interface so it can be anything)
	Service        DeviceService                 `json:"service"`        // Associated Device Service - One per device
	Profile        DeviceProfile                 `json:"profile"`        // Associated Device Profile - Describes the device
	AutoEvents     []AutoEvent                   `json:"autoEvents"`     // A list of auto-generated events coming from the device
}

* This file is the model for the Device object in EdgeX * * * Device struct

func (*Device) AllAssociatedValueDescriptors

func (d *Device) AllAssociatedValueDescriptors(vdNames *[]string)

Return all the associated value descriptors through Put command parameters and Put/Get command return values

func (Device) MarshalJSON

func (d Device) MarshalJSON() ([]byte, error)

Custom marshaling to make empty strings null

func (Device) String

func (d Device) String() string

* String function for representing a device

type DeviceProfile

type DeviceProfile struct {
	DescribedObject `yaml:",inline"`
	Id              string            `json:"id" yaml:"id,omitempty"`
	Name            string            `json:"name" yaml:"name,omitempty"`                 // Non-database identifier (must be unique)
	Manufacturer    string            `json:"manufacturer" yaml:"manufacturer,omitempty"` // Manufacturer of the device
	Model           string            `json:"model" yaml:"model,omitempty"`               // Model of the device
	Labels          []string          `json:"labels" yaml:"labels,flow,omitempty"`        // Labels used to search for groups of profiles
	DeviceResources []DeviceResource  `json:"deviceResources" yaml:"deviceResources,omitempty"`
	Resources       []ProfileResource `json:"resources" yaml:"resources,omitempty"`
	Commands        []Command         `json:"commands" yaml:"commands,omitempty"` // List of commands to Get/Put information for devices associated with this profile
}

*This file is the model for a device profile in EdgeX * * * Device profile struct

func (DeviceProfile) MarshalJSON

func (dp DeviceProfile) MarshalJSON() ([]byte, error)

Custom marshaling so that empty strings and arrays are null

func (DeviceProfile) String

func (dp DeviceProfile) String() string

* To String function for DeviceProfile

type DeviceResource

type DeviceResource struct {
	Description string                 `json:"description" yaml:"description,omitempty"`
	Name        string                 `json:"name" yaml:"name,omitempty"`
	Tag         string                 `json:"tag" yaml:"tag,omitempty"`
	Properties  ProfileProperty        `json:"properties" yaml:"properties"`
	Attributes  map[string]interface{} `json:"attributes" yaml:"attributes,omitempty"`
}

func (DeviceResource) MarshalJSON

func (do DeviceResource) MarshalJSON() ([]byte, error)

Custom marshaling to make empty strings null

func (DeviceResource) String

func (do DeviceResource) String() string

* To String function for DeviceResource

type DeviceService

type DeviceService struct {
	Service
	AdminState AdminState `json:"adminState"` // Device Service Admin State
}

func (DeviceService) MarshalJSON

func (ds DeviceService) MarshalJSON() ([]byte, error)

Custom Marshaling to make empty strings null

func (DeviceService) String

func (ds DeviceService) String() string

* To String function for DeviceService

func (*DeviceService) UnmarshalJSON

func (ds *DeviceService) UnmarshalJSON(data []byte) error

Custom unmarshaling funcion

type EncryptionDetails

type EncryptionDetails struct {
	Algo       string `json:"encryptionAlgorithm,omitempty"`
	Key        string `json:"encryptionKey,omitempty"`
	InitVector string `json:"initializingVector,omitempty"`
}

EncryptionDetails - Provides details for encryption of export data per client request

type Event

type Event struct {
	ID       string    `json:"id" codec:"omitempty"`
	Pushed   int64     `json:"pushed" codec:"omitempty"`
	Device   string    `json:"device" codec:"omitempty"` // Device identifier (name or id)
	Created  int64     `json:"created" codec:"omitempty"`
	Modified int64     `json:"modified" codec:"omitempty"`
	Origin   int64     `json:"origin" codec:"omitempty"`
	Readings []Reading `json:"readings" codec:"omitempty"` // List of readings
}

* This file is for the Event model in EdgeX * * * Event struct to hold event data

func (Event) CBOR

func (e Event) CBOR() []byte

func (Event) MarshalJSON

func (e Event) MarshalJSON() ([]byte, error)

Custom marshaling to make empty strings null

func (Event) String

func (e Event) String() string

type Filter

type Filter struct {
	DeviceIDs          []string `json:"deviceIdentifiers,omitempty"`
	ValueDescriptorIDs []string `json:"valueDescriptorIdentifiers,omitempty"`
}

Filter - Specifies the client filters on reading data

type Get

type Get struct {
	Action `yaml:",inline"`
}

func (*Get) AllAssociatedValueDescriptors

func (g *Get) AllAssociatedValueDescriptors(vdNames *map[string]string)

Append the associated value descriptors to the list

func (Get) MarshalJSON

func (g Get) MarshalJSON() ([]byte, error)

Custom marshaling to make empty strings and arrays null

func (Get) String

func (g Get) String() string

* To String function for Get Struct

type Interval

type Interval struct {
	ID        string `json:"id"`
	Created   int64  `json:"created"`
	Modified  int64  `json:"modified"`
	Origin    int64  `json:"origin"`    // not currently used reserved for interval origin source
	Name      string `json:"name"`      // non-database identifier for a shcedule (*must be quitue)
	Start     string `json:"start"`     // Start time i ISO 8601 format YYYYMMDD'T'HHmmss 	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyymmdd'T'HHmmss")
	End       string `json:"end"`       // Start time i ISO 8601 format YYYYMMDD'T'HHmmss 	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyymmdd'T'HHmmss")
	Frequency string `json:"frequency"` // how frequently should the event occur according ISO 8601
	Cron      string `json:"cron"`      // cron styled regular expression indicating how often the action under interval should occur.  Use either runOnce, frequency or cron and not all.
	RunOnce   bool   `json:"runOnce"`   // boolean indicating that this interval runs one time - at the time indicated by the start
}

Interval a period of time

func (Interval) MarshalJSON

func (i Interval) MarshalJSON() ([]byte, error)

Custom marshaling to make empty strings null

func (Interval) String

func (dp Interval) String() string

* To String function for Interval

type IntervalAction

type IntervalAction struct {
	ID         string `json:"id"`
	Created    int64  `json:"created"`
	Modified   int64  `json:"modified"`
	Origin     int64  `json:"origin"`
	Name       string `json:"name"`
	Interval   string `json:"interval"`
	Parameters string `json:"parameters"`
	Target     string `json:"target"`
	Protocol   string `json:"protocol"`
	HTTPMethod string `json:"httpMethod"`
	Address    string `json:"address"`
	Port       int    `json:"port"`
	Path       string `json:"path"`
	Publisher  string `json:"publisher"`
	User       string `json:"user"`
	Password   string `json:"password"`
	Topic      string `json:"topic"`
}

func (IntervalAction) GetBaseURL

func (ia IntervalAction) GetBaseURL() string

func (IntervalAction) MarshalJSON

func (ia IntervalAction) MarshalJSON() ([]byte, error)

func (IntervalAction) String

func (ia IntervalAction) String() string

type LogEntry

type LogEntry struct {
	Level         string        `bson:"logLevel" json:"logLevel"`
	Args          []interface{} `bson:"args" json:"args"`
	OriginService string        `bson:"originService" json:"originService"`
	Message       string        `bson:"message" json:"message"`
	Created       int64         `bson:"created" json:"created"`
}

func (LogEntry) MarshalJSON

func (l LogEntry) MarshalJSON() ([]byte, error)

type Notification

type Notification struct {
	BaseObject
	ID          string                `json:"id,omitempty"`
	Slug        string                `json:"slug,omitempty"`
	Sender      string                `json:"sender,omitempty"`
	Category    NotificationsCategory `json:"category,omitempty"`
	Severity    NotificationsSeverity `json:"severity,omitempty"`
	Content     string                `json:"content,omitempty"`
	Description string                `json:"description,omitempty"`
	Status      NotificationsStatus   `json:"status,omitempty"`
	Labels      []string              `json:"labels,omitempty"`
	ContentType string                `json:"contenttype,omitempty"`
}

func (Notification) MarshalJSON

func (n Notification) MarshalJSON() ([]byte, error)

func (Notification) String

func (n Notification) String() string

* To String function for Notification Struct

type NotificationsCategory

type NotificationsCategory string

func (*NotificationsCategory) UnmarshalJSON

func (as *NotificationsCategory) UnmarshalJSON(data []byte) error

type NotificationsSeverity

type NotificationsSeverity string

func (*NotificationsSeverity) UnmarshalJSON

func (as *NotificationsSeverity) UnmarshalJSON(data []byte) error

type NotificationsStatus

type NotificationsStatus string

func (*NotificationsStatus) UnmarshalJSON

func (as *NotificationsStatus) UnmarshalJSON(data []byte) error

type NotifyUpdate

type NotifyUpdate struct {
	Name      string `json:"name"`
	Operation string `json:"operation"`
}

type OperatingState

type OperatingState string

OperatingState Constant String

func GetOperatingState

func GetOperatingState(os string) (OperatingState, bool)

func (*OperatingState) UnmarshalJSON

func (os *OperatingState) UnmarshalJSON(data []byte) error

UnmarshalJSON : Struct into json

type Operation

type Operation struct {
	Action   string   `bson:"action" json:"action,omitempty"`
	Services []string `bson:"services,omitempty" json:"services,omitempty"`
}

* An Operation for SMA processing. * * * Operation struct

func (Operation) String

func (o Operation) String() string

* To String function for Operation struct

func (*Operation) UnmarshalJSON

func (o *Operation) UnmarshalJSON(data []byte) error

Implements unmarshaling of JSON string to Operation type instance

type ProfileProperty

type ProfileProperty struct {
	Value     PropertyValue `json:"value"`
	Units     Units         `json:"units"`
	MediaType string        `json:"mediaType,omitempty"`
}

func (ProfileProperty) String

func (pp ProfileProperty) String() string

* To String function for DeviceService

type ProfileResource

type ProfileResource struct {
	Name string              `json:"name" yaml:"name,omitempty"`
	Get  []ResourceOperation `json:"get" yaml:"get,omitempty"`
	Set  []ResourceOperation `json:"set" yaml:"set,omitempty"`
}

func (ProfileResource) MarshalJSON

func (pr ProfileResource) MarshalJSON() ([]byte, error)

Custom marshaling to make empty strings null

func (ProfileResource) String

func (pr ProfileResource) String() string

* To String function for Profile Resource

type PropertyValue

type PropertyValue struct {
	Type          string `json:"type" yaml:"type,omitempty"`                 // ValueDescriptor Type of property after transformations
	ReadWrite     string `json:"readWrite" yaml:"readWrite,omitempty"`       // Read/Write Permissions set for this property
	Minimum       string `json:"minimum" yaml:"minimum,omitempty"`           // Minimum value that can be get/set from this property
	Maximum       string `json:"maximum" yaml:"maximum,omitempty"`           // Maximum value that can be get/set from this property
	DefaultValue  string `json:"defaultValue" yaml:"defaultValue,omitempty"` // Default value set to this property if no argument is passed
	Size          string `json:"size" yaml:"size,omitempty"`                 // Size of this property in its type  (i.e. bytes for numeric types, characters for string types)
	Mask          string `json:"mask" yaml:"mask,omitempty"`                 // Mask to be applied prior to get/set of property
	Shift         string `json:"shift" yaml:"shift,omitempty"`               // Shift to be applied after masking, prior to get/set of property
	Scale         string `json:"scale" yaml:"scale,omitempty"`               // Multiplicative factor to be applied after shifting, prior to get/set of property
	Offset        string `json:"offset" yaml:"offset,omitempty"`             // Additive factor to be applied after multiplying, prior to get/set of property
	Base          string `json:"base" yaml:"base,omitempty"`                 // Base for property to be applied to, leave 0 for no power operation (i.e. base ^ property: 2 ^ 10)
	Assertion     string `json:"assertion" yaml:"assertion,omitempty"`       // Required value of the property, set for checking error state.  Failing an assertion condition will mark the device with an error state
	Precision     string `json:"precision" yaml:"precision,omitempty"`
	FloatEncoding string `json:"floatEncoding" yaml:"floatEncoding,omitempty"` // FloatEncoding indicates the representation of floating value of reading.  It should be 'Base64' or 'eNotation'
}

func (PropertyValue) MarshalJSON

func (pv PropertyValue) MarshalJSON() ([]byte, error)

Custom marshaling to make empty strings null

func (PropertyValue) String

func (pv PropertyValue) String() string

* To String function for DeviceService

type ProtocolProperties

type ProtocolProperties map[string]string

ProtocolProperties contains the device connection information in key/value pair

type ProvisionWatcher

type ProvisionWatcher struct {
	BaseObject
	Id             string            `json:"id"`
	Name           string            `json:"name"`           // unique name and identifier of the addressable
	Identifiers    map[string]string `json:"identifiers"`    // set of key value pairs that identify type of of address (MAC, HTTP,...) and address to watch for (00-05-1B-A1-99-99, 10.0.0.1,...)
	Profile        DeviceProfile     `json:"profile"`        // device profile that should be applied to the devices available at the identifier addresses
	Service        DeviceService     `json:"service"`        // device service that owns the watcher
	OperatingState OperatingState    `json:"operatingState"` // operational state - either enabled or disabled
}

func (ProvisionWatcher) MarshalJSON

func (pw ProvisionWatcher) MarshalJSON() ([]byte, error)

Custom marshaling to make empty strings null

func (ProvisionWatcher) String

func (pw ProvisionWatcher) String() string

* To String function for ProvisionWatcher

type Put

type Put struct {
	Action         `yaml:",inline"`
	ParameterNames []string `json:"parameterNames" yaml:"parameterNames,omitempty"`
}

* This file is the model for Put commands in EdgeX * * Put Struct

func (*Put) AllAssociatedValueDescriptors

func (p *Put) AllAssociatedValueDescriptors(vdNames *map[string]string)

Append the associated value descriptors to the list

func (Put) MarshalJSON

func (p Put) MarshalJSON() ([]byte, error)

Custom marshaling to make empty strings null

func (Put) String

func (p Put) String() string

* To String function for Put struct

type Reading

type Reading struct {
	Id          string `json:"id"`
	Pushed      int64  `json:"pushed"`  // When the data was pushed out of EdgeX (0 - not pushed yet)
	Created     int64  `json:"created"` // When the reading was created
	Origin      int64  `json:"origin"`
	Modified    int64  `json:"modified"`
	Device      string `json:"device"`
	Name        string `json:"name"`
	Value       string `json:"value"`       // Device sensor data value
	BinaryValue []byte `json:"binaryValue"` // Binary data payload
}

* This file is for the Reading model in EdgeX * Holds data that was gathered from a device * * * Struct for the Reading object in EdgeX

func (Reading) MarshalJSON

func (r Reading) MarshalJSON() ([]byte, error)

Custom marshaling to make empty strings null

func (Reading) String

func (r Reading) String() string

* To String function for Reading Struct

type Registration

type Registration struct {
	ID          string            `json:"id,omitempty"`
	Created     int64             `json:"created"`
	Modified    int64             `json:"modified"`
	Origin      int64             `json:"origin"`
	Name        string            `json:"name,omitempty"`
	Addressable Addressable       `json:"addressable,omitempty"`
	Format      string            `json:"format,omitempty"`
	Filter      Filter            `json:"filter.go,omitempty"`
	Encryption  EncryptionDetails `json:"encryption,omitempty"`
	Compression string            `json:"compression,omitempty"`
	Enable      bool              `json:"enable"`
	Destination string            `json:"destination,omitempty"`
}

Registration - Defines the registration details on the part of north side export clients

func (Registration) Validate

func (reg Registration) Validate() (bool, error)

type ResourceOperation

type ResourceOperation struct {
	Index     string            `json:"index" yaml:"index,omitempty"`
	Operation string            `json:"operation" yaml:"operation,omitempty"`
	Object    string            `json:"object" yaml:"object,omitempty"`
	Parameter string            `json:"parameter" yaml:"parameter,omitempty"`
	Resource  string            `json:"resource" yaml:"resource,omitempty"`
	Secondary []string          `json:"secondary" yaml:"secondary,omitempty"`
	Mappings  map[string]string `json:"mappings" yaml:"mappings,omitempty"`
}

func (ResourceOperation) MarshalJSON

func (ro ResourceOperation) MarshalJSON() ([]byte, error)

Custom marshaling to make empty strings null

func (ResourceOperation) String

func (ro ResourceOperation) String() string

* To String function for ResourceOperation

type Response

type Response struct {
	Code           string   `json:"code" yaml:"code,omitempty"`
	Description    string   `json:"description" yaml:"description,omitempty"`
	ExpectedValues []string `json:"expectedValues" yaml:"expectedValues,omitempty"`
}

* Response for a Get or Put request to a service * * * Response Struct

func (Response) Equals

func (r Response) Equals(r2 Response) bool

func (Response) MarshalJSON

func (r Response) MarshalJSON() ([]byte, error)

Custom marshalling to make empty strings null

func (Response) String

func (a Response) String() string

* To String function for Response Struct

type Service

type Service struct {
	DescribedObject
	Id             string         `json:"id"`
	Name           string         `json:"name"`           // time in milliseconds that the device last provided any feedback or responded to any request
	LastConnected  int64          `json:"lastConnected"`  // time in milliseconds that the device last reported data to the core
	LastReported   int64          `json:"lastReported"`   // operational state - either enabled or disabled
	OperatingState OperatingState `json:"operatingState"` // operational state - ether enabled or disableddc
	Labels         []string       `json:"labels"`         // tags or other labels applied to the device service for search or other identification needs
	Addressable    Addressable    `json:"addressable"`    // address (MQTT topic, HTTP address, serial bus, etc.) for reaching the service
}

func (Service) MarshalJSON

func (s Service) MarshalJSON() ([]byte, error)

Custom Marshaling to make empty strings null

func (Service) String

func (dp Service) String() string

* To String function for Service

type Subscription

type Subscription struct {
	BaseObject
	ID                   string                  `json:"id"`
	Slug                 string                  `json:"slug,omitempty"`
	Receiver             string                  `json:"receiver,omitempty"`
	Description          string                  `json:"description,omitempty"`
	SubscribedCategories []NotificationsCategory `json:"subscribedCategories,omitempty"`
	SubscribedLabels     []string                `json:"subscribedLabels,omitempty"`
	Channels             []Channel               `json:"channels,omitempty"`
}

* A subscription for notification alerts * * * Subscription struct

func (Subscription) MarshalJSON

func (s Subscription) MarshalJSON() ([]byte, error)

Custom marshaling to make empty strings null

func (Subscription) String

func (s Subscription) String() string

* To String function for Notification Struct

type Transmission

type Transmission struct {
	BaseObject
	ID           string               `json:"id"`
	Notification Notification         `json:"notification"`
	Receiver     string               `json:"receiver,omitempty"`
	Channel      Channel              `json:"channel,omitempty"`
	Status       TransmissionStatus   `json:"status,omitempty"`
	ResendCount  int                  `json:"resendcount"`
	Records      []TransmissionRecord `json:"records,omitempty"`
}

func (Transmission) MarshalJSON

func (t Transmission) MarshalJSON() ([]byte, error)

Custom marshaling to make empty strings null

func (Transmission) String

func (t Transmission) String() string

* To String function for Transmission Struct

type TransmissionRecord

type TransmissionRecord struct {
	Status   TransmissionStatus `json:"status"`
	Response string             `json:"response"`
	Sent     int64              `json:"sent"`
}

func (TransmissionRecord) MarshalJSON

func (t TransmissionRecord) MarshalJSON() ([]byte, error)

Custom marshaling to make empty strings null

func (TransmissionRecord) String

func (t TransmissionRecord) String() string

* To String function for TransmissionRecord Struct

type TransmissionStatus

type TransmissionStatus string

func (*TransmissionStatus) UnmarshalJSON

func (as *TransmissionStatus) UnmarshalJSON(data []byte) error

* Unmarshal the enum type

type Units

type Units struct {
	Type         string `json:"type" yaml:"type,omitempty"`
	ReadWrite    string `json:"readWrite" yaml:"readWrite,omitempty"`
	DefaultValue string `json:"defaultValue" yaml:"defaultValue,omitempty"`
}

func (Units) MarshalJSON

func (u Units) MarshalJSON() ([]byte, error)

Custom marshaling to make empty strings null

func (Units) String

func (u Units) String() string

* To String function for Units

Jump to

Keyboard shortcuts

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