Documentation
¶
Overview ¶
******************************************************************************
- Copyright 2018 Dell Inc. *
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- in compliance with the License. You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software distributed under the License
- is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- or implied. See the License for the specific language governing permissions and limitations under
- the License. ******************************************************************************
******************************************************************************
- Copyright 2019 Dell Technologies Inc. *
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- in compliance with the License. You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software distributed under the License
- is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- or implied. See the License for the specific language governing permissions and limitations under
- the License. * ******************************************************************************
******************************************************************************
- Copyright 2018 Dell Inc. *
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- in compliance with the License. You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software distributed under the License
- is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- or implied. See the License for the specific language governing permissions and limitations under
- the License. ******************************************************************************
******************************************************************************
- Copyright 2018 Dell Inc. *
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- in compliance with the License. You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software distributed under the License
- is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- or implied. See the License for the specific language governing permissions and limitations under
- the License. ******************************************************************************
******************************************************************************
- Copyright 2018 Dell Inc. *
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- in compliance with the License. You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software distributed under the License
- is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- or implied. See the License for the specific language governing permissions and limitations under
- the License. ******************************************************************************
Index ¶
- type Addressable
- type Channel
- type Command
- type Device
- func (d *Device) FromContract(from contract.Device, dsTransform deviceServiceTransform, ...) (id string, err error)
- func (d *Device) TimestampForAdd()
- func (d *Device) TimestampForUpdate()
- func (d *Device) ToContract(dsTransform deviceServiceTransform, dpTransform deviceProfileTransform, ...) (c contract.Device, err error)
- type DeviceProfile
- func (dp *DeviceProfile) FromContract(from contract.DeviceProfile, transform commandTransform) (contractId string, err error)
- func (dp *DeviceProfile) TimestampForAdd()
- func (dp *DeviceProfile) TimestampForUpdate()
- func (dp *DeviceProfile) ToContract(transform commandTransform) (c contract.DeviceProfile, err error)
- type DeviceReport
- type DeviceResource
- type DeviceService
- func (ds *DeviceService) FromContract(from contract.DeviceService, transform addressableTransform) (id string, err error)
- func (s *DeviceService) TimestampForAdd()
- func (s *DeviceService) TimestampForUpdate()
- func (ds *DeviceService) ToContract(transform addressableTransform) (c contract.DeviceService, err error)
- type EncryptionDetails
- type Event
- type Filter
- type Get
- type Interval
- type IntervalAction
- type Notification
- type ProfileProperty
- type ProfileResource
- type PropertyValue
- type ProvisionWatcher
- func (pw *ProvisionWatcher) FromContract(from contract.ProvisionWatcher, dpt deviceProfileTransform, ...) (id string, err error)
- func (pw *ProvisionWatcher) TimestampForAdd()
- func (pw *ProvisionWatcher) TimestampForUpdate()
- func (pw *ProvisionWatcher) ToContract(dpt deviceProfileTransform, dst deviceServiceTransform, ct commandTransform, ...) (c contract.ProvisionWatcher, err error)
- type Put
- type Reading
- type Registration
- type ResourceOperation
- type Response
- type Subscription
- type Transmission
- type TransmissionRecord
- type Units
- type ValueDescriptor
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Addressable ¶
type Addressable struct {
Created int64 `bson:"created"`
Modified int64 `bson:"modified"`
Origin int64 `bson:"origin"`
Id bson.ObjectId `bson:"_id,omitempty"`
Uuid string `bson:"uuid,omitempty"`
Name string `bson:"name"`
Protocol string `bson:"protocol"` // Protocol for the address (HTTP/TCP)
HTTPMethod string `bson:"method"` // Method for connecting (i.e. POST)
Address string `bson:"address"` // Address of the addressable
Port int `bson:"port"` // Port for the address
Path string `bson:"path"` // Path for callbacks
Publisher string `bson:"publisher"` // For message bus protocols
User string `bson:"user"` // User id for authentication
Password string `bson:"password"` // Password of the user for authentication for the addressable
Topic string `bson:"topic"` // Topic for message bus addressables
}
func (*Addressable) FromContract ¶
func (a *Addressable) FromContract(from contract.Addressable) (id string, err error)
func (*Addressable) TimestampForAdd ¶
func (a *Addressable) TimestampForAdd()
func (*Addressable) TimestampForUpdate ¶
func (a *Addressable) TimestampForUpdate()
func (*Addressable) ToContract ¶
func (a *Addressable) ToContract() (c contract.Addressable)
type Channel ¶
type Channel struct {
Type contract.ChannelType `bson:"type,omitempty"`
MailAddresses []string `bson:"mailAddresses,omitempty"`
Url string `bson:"url,omitempty"`
}
func (*Channel) FromContract ¶
func (*Channel) ToContract ¶
type Command ¶
type Command struct {
Created int64 `bson:"created"`
Modified int64 `bson:"modified"`
Origin int64 `bson:"origin"`
Id bson.ObjectId `bson:"_id,omitempty"`
Uuid string `bson:"uuid,omitempty"`
Name string `bson:"name"`
Get Get `bson:"get"`
Put Put `bson:"put"`
}
func (*Command) FromContract ¶
func (*Command) TimestampForAdd ¶
func (c *Command) TimestampForAdd()
func (*Command) TimestampForUpdate ¶
func (c *Command) TimestampForUpdate()
func (*Command) ToContract ¶
type Device ¶
type Device struct {
Created int64 `bson:"created"`
Modified int64 `bson:"modified"`
Origin int64 `bson:"origin"`
Description string `bson:"description"`
Id bson.ObjectId `bson:"_id,omitempty"`
Uuid string `bson:"uuid,omitempty"`
Protocols string `bson:"protocols,omitempty"` //Contains a JSON representation of the supported protocols for the device
AutoEvents string `bson:"autoEvents,omitempty"` //Contains a JSON representation of the device's auto-generated events
Name string `bson:"name"` // Unique name for identifying a device
AdminState contract.AdminState `bson:"adminState"` // Admin state (locked/unlocked)
OperatingState contract.OperatingState `bson:"operatingState"` // Operating state (enabled/disabled)
LastConnected int64 `bson:"lastConnected"` // Time (milliseconds) that the device last provided any feedback or responded to any request
LastReported int64 `bson:"lastReported"` // Time (milliseconds) that the device reported data to the core microservice
Labels []string `bson:"labels"` // Other labels applied to the device to help with searching
Location interface{} `bson:"location"` // Device service specific location (interface{} is an empty interface so it can be anything)
Service mgo.DBRef `bson:"service"` // Associated Device Service - One per device
Profile mgo.DBRef `bson:"profile"` // Associated Device Profile - Describes the device
ProfileName string `bson:"profileName"` // Associated Device Profile Name
}
* This file is the model for the Device object in EdgeX * * * Device struct
func (*Device) FromContract ¶
func (*Device) TimestampForAdd ¶
func (d *Device) TimestampForAdd()
func (*Device) TimestampForUpdate ¶
func (d *Device) TimestampForUpdate()
type DeviceProfile ¶
type DeviceProfile struct {
Created int64 `bson:"created"`
Modified int64 `bson:"modified"`
Origin int64 `bson:"origin"`
Description string `bson:"description"`
Id bson.ObjectId `bson:"_id,omitempty"`
Uuid string `bson:"uuid,omitempty"`
Name string `bson:"name"`
Manufacturer string `bson:"manufacturer"`
Model string `bson:"model"`
Labels []string `bson:"labels"`
DeviceResources []DeviceResource `bson:"deviceResources"`
DeviceCommands []ProfileResource `bson:"resources"`
CoreCommands []mgo.DBRef `bson:"commands"`
}
func (*DeviceProfile) FromContract ¶
func (dp *DeviceProfile) FromContract(from contract.DeviceProfile, transform commandTransform) (contractId string, err error)
func (*DeviceProfile) TimestampForAdd ¶
func (dp *DeviceProfile) TimestampForAdd()
func (*DeviceProfile) TimestampForUpdate ¶
func (dp *DeviceProfile) TimestampForUpdate()
func (*DeviceProfile) ToContract ¶
func (dp *DeviceProfile) ToContract(transform commandTransform) (c contract.DeviceProfile, err error)
type DeviceReport ¶
type DeviceReport struct {
Created int64 `bson:"created"`
Modified int64 `bson:"modified"`
Origin int64 `bson:"origin"`
Id bson.ObjectId `bson:"_id,omitempty"`
Uuid string `bson:"uuid,omitempty"`
Name string `bson:"name"` // non-database identifier for a device report - must be unique
Device string `bson:"device"` // associated device name - should be a valid and unique device name
Action string `bson:"action"` // associated interval action name - should be a valid and unique interval action name
Expected []string `bson:"expected"` // array of value descriptor names describing the types of data captured in the report
}
func (*DeviceReport) FromContract ¶
func (dr *DeviceReport) FromContract(from contract.DeviceReport) (id string, err error)
func (*DeviceReport) TimestampForAdd ¶
func (dr *DeviceReport) TimestampForAdd()
func (*DeviceReport) TimestampForUpdate ¶
func (dr *DeviceReport) TimestampForUpdate()
func (*DeviceReport) ToContract ¶
func (dr *DeviceReport) ToContract() (c contract.DeviceReport)
type DeviceResource ¶
type DeviceService ¶
type DeviceService struct {
Created int64 `bson:"created"`
Modified int64 `bson:"modified"`
Origin int64 `bson:"origin"`
Description string `bson:"description"`
Id bson.ObjectId `bson:"_id,omitempty"`
Uuid string `bson:"uuid,omitempty"`
Name string `bson:"name"` // time in milliseconds that the device last provided any feedback or responded to any request
LastConnected int64 `bson:"lastConnected"` // time in milliseconds that the device last reported data to the core
LastReported int64 `bson:"lastReported"` // operational state - either enabled or disabled
OperatingState contract.OperatingState `bson:"operatingState"` // operational state - ether enabled or disableddc
Labels []string `bson:"labels"` // tags or other labels applied to the device service for search or other identification needs
Addressable mgo.DBRef `bson:"addressable"` // address (MQTT topic, HTTP address, serial bus, etc.) for reaching the service
AdminState contract.AdminState `bson:"adminState"` // Device Service Admin State
}
func (*DeviceService) FromContract ¶
func (ds *DeviceService) FromContract(from contract.DeviceService, transform addressableTransform) (id string, err error)
func (*DeviceService) TimestampForAdd ¶
func (s *DeviceService) TimestampForAdd()
func (*DeviceService) TimestampForUpdate ¶
func (s *DeviceService) TimestampForUpdate()
func (*DeviceService) ToContract ¶
func (ds *DeviceService) ToContract(transform addressableTransform) (c contract.DeviceService, err error)
type EncryptionDetails ¶ added in v1.0.0
type Event ¶
type Event struct {
Created int64 `bson:"created"`
Modified int64 `bson:"modified"`
Origin int64 `bson:"origin"`
Id bson.ObjectId `bson:"_id,omitempty"`
Uuid string `bson:"uuid,omitempty"`
Pushed int64 `bson:"pushed"`
Device string `bson:"device"` // Device identifier (name or id)
Readings []mgo.DBRef `bson:"readings,omitempty"` // List of readings
Checksum string `bson:"checksum,omitempty"` // checksum used to identify events
}
func (*Event) FromContract ¶
func (e *Event) FromContract(from correlation.Event, transform readingTransform) (id string, err error)
func (*Event) TimestampForAdd ¶
func (e *Event) TimestampForAdd()
func (*Event) TimestampForUpdate ¶
func (e *Event) TimestampForUpdate()
type Interval ¶
type Interval struct {
Created int64 `bson:"created"`
Modified int64 `bson:"modified"`
Origin int64 `bson:"origin"`
Id bson.ObjectId `bson:"_id,omitempty"`
Uuid string `bson:"uuid,omitempty"`
Name string `bson:"name"`
Start string `bson:"start"`
End string `bson:"end"`
Frequency string `bson:"frequency"`
Cron string `bson:"cron,omitempty"`
RunOnce bool `bson:"runonce"`
}
func (*Interval) FromContract ¶
func (*Interval) TimestampForAdd ¶
func (in *Interval) TimestampForAdd()
func (*Interval) TimestampForUpdate ¶
func (in *Interval) TimestampForUpdate()
func (*Interval) ToContract ¶
type IntervalAction ¶
type IntervalAction struct {
Created int64 `bson:"created"`
Modified int64 `bson:"modified"`
Origin int64 `bson:"origin"`
Id bson.ObjectId `bson:"_id,omitempty"`
Uuid string `bson:"uuid,omitempty"`
Name string `bson:"name"`
Interval string `bson:"interval"`
Parameters string `bson:"parameters"`
Target string `bson:"target"`
Protocol string `bson:"protocol"`
HTTPMethod string `bson:"httpMethod"`
Address string `bson:"address"`
Port int `bson:"port"`
Path string `bson:"path"`
Publisher string `bson:"publisher"`
User string `bson:"user"`
Password string `bson:"password"`
Topic string `bson:"topic"`
}
func (*IntervalAction) FromContract ¶
func (ia *IntervalAction) FromContract(from contract.IntervalAction) (id string, err error)
func (*IntervalAction) TimestampForAdd ¶
func (ia *IntervalAction) TimestampForAdd()
func (*IntervalAction) TimestampForUpdate ¶
func (ia *IntervalAction) TimestampForUpdate()
func (*IntervalAction) ToContract ¶
func (ia *IntervalAction) ToContract() (c contract.IntervalAction)
type Notification ¶
type Notification struct {
Created int64 `bson:"created"`
Modified int64 `bson:"modified"`
Origin int64 `bson:"origin"`
Id bson.ObjectId `bson:"_id,omitempty"`
Uuid string `bson:"uuid,omitempty"`
Slug string `bson:"slug"`
Sender string `bson:"sender"`
Category contract.NotificationsCategory `bson:"category"`
Severity contract.NotificationsSeverity `bson:"severity"`
Content string `bson:"content"`
Description string `bson:"description"`
Status contract.NotificationsStatus `bson:"status"`
Labels []string `bson:"labels,omitempty"`
ContentType string `bson:"contenttype"`
}
func (*Notification) FromContract ¶
func (n *Notification) FromContract(from contract.Notification) (id string, err error)
func (*Notification) TimestampForAdd ¶
func (n *Notification) TimestampForAdd()
func (*Notification) TimestampForUpdate ¶
func (n *Notification) TimestampForUpdate()
func (*Notification) ToContract ¶
func (n *Notification) ToContract() (c contract.Notification)
type ProfileProperty ¶
type ProfileProperty struct {
Value PropertyValue `bson:"value"`
Units Units `bson:"units"`
}
type ProfileResource ¶
type ProfileResource struct {
Name string `bson:"name"`
Get []ResourceOperation `bson:"get"`
Set []ResourceOperation `bson:"set"`
}
type PropertyValue ¶
type PropertyValue struct {
Type string `bson:"type"` // ValueDescriptor Type of property after transformations
ReadWrite string `bson:"readWrite"` // Read/Write Permissions set for this property
Minimum string `bson:"minimum"` // Minimum value that can be get/set from this property
Maximum string `bson:"maximum"` // Maximum value that can be get/set from this property
DefaultValue string `bson:"defaultValue"` // Default value set to this property if no argument is passed
Size string `bson:"size"` // Size of this property in its type (i.e. bytes for numeric types, characters for string types)
Mask string `bson:"mask"` // Mask to be applied prior to get/set of property
Shift string `bson:"shift"` // Shift to be applied after masking, prior to get/set of property
Scale string `bson:"scale"` // Multiplicative factor to be applied after shifting, prior to get/set of property
Offset string `bson:"offset"` // Additive factor to be applied after multiplying, prior to get/set of property
Base string `bson:"base"` // Base for property to be applied to, leave 0 for no power operation (i.e. base ^ property: 2 ^ 10)
Assertion string `bson:"assertion"` // Required value of the property, set for checking error state. Failing an assertion condition will mark the device with an error state
Precision string `bson:"precision"`
FloatEncoding string `bson:"floatEncoding"` // FloatEncoding indicates the representation of floating value of reading. It should be 'Base64' or 'eNotation'
MediaType string `bson:"mediaType"`
}
type ProvisionWatcher ¶
type ProvisionWatcher struct {
Created int64 `bson:"created"`
Modified int64 `bson:"modified"`
Origin int64 `bson:"origin"`
Id bson.ObjectId `bson:"_id,omitempty"`
Uuid string `bson:"uuid,omitempty"`
Name string `bson:"name"` // unique name and identifier of the addressable
Identifiers map[string]string `bson:"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 mgo.DBRef `bson:"profile"` // device profile that should be applied to the devices available at the identifier addresses
Service mgo.DBRef `bson:"service"` // device service that owns the watcher
OperatingState contract.OperatingState `bson:"operatingState"` // operational state - either enabled or disabled
}
func (*ProvisionWatcher) FromContract ¶
func (pw *ProvisionWatcher) FromContract(from contract.ProvisionWatcher, dpt deviceProfileTransform, dst deviceServiceTransform, ct commandTransform, at addressableTransform) (id string, err error)
func (*ProvisionWatcher) TimestampForAdd ¶
func (pw *ProvisionWatcher) TimestampForAdd()
func (*ProvisionWatcher) TimestampForUpdate ¶
func (pw *ProvisionWatcher) TimestampForUpdate()
func (*ProvisionWatcher) ToContract ¶
func (pw *ProvisionWatcher) ToContract(dpt deviceProfileTransform, dst deviceServiceTransform, ct commandTransform, at addressableTransform) (c contract.ProvisionWatcher, err error)
type Reading ¶
type Reading struct {
Created int64 `bson:"created"`
Modified int64 `bson:"modified"`
Origin int64 `bson:"origin"`
Id bson.ObjectId `bson:"_id,omitempty"`
Uuid string `bson:"uuid"`
Pushed int64 `bson:"pushed"` // When the data was pushed out of EdgeX (0 - not pushed yet)
Device string `bson:"device"`
Name string `bson:"name"`
Value string `bson:"value"` // Device sensor data value
}
func (*Reading) FromContract ¶
func (*Reading) TimestampForAdd ¶
func (r *Reading) TimestampForAdd()
func (*Reading) TimestampForUpdate ¶
func (r *Reading) TimestampForUpdate()
func (*Reading) ToContract ¶
type Registration ¶ added in v1.0.0
type Registration struct {
Created int64 `bson:"created"`
Modified int64 `bson:"modified"`
Origin int64 `bson:"origin"`
ID bson.ObjectId `bson:"_id,omitempty"`
Uuid string `bson:"uuid,omitempty"`
Name string
Addressable Addressable
Format string
Filter Filter
Encryption EncryptionDetails
Compression string
Enable bool
Destination string
}
func (*Registration) FromContract ¶ added in v1.0.0
func (r *Registration) FromContract(from contract.Registration) (id string, err error)
func (*Registration) TimestampForAdd ¶ added in v1.0.0
func (r *Registration) TimestampForAdd()
func (*Registration) TimestampForUpdate ¶ added in v1.0.0
func (r *Registration) TimestampForUpdate()
func (*Registration) ToContract ¶ added in v1.0.0
func (r *Registration) ToContract() (c contract.Registration)
type ResourceOperation ¶
type Subscription ¶
type Subscription struct {
Created int64 `bson:"created"`
Modified int64 `bson:"modified"`
Origin int64 `bson:"origin"`
Id bson.ObjectId `bson:"_id,omitempty"`
Uuid string `bson:"uuid,omitempty"`
Slug string `bson:"slug"`
Receiver string `bson:"receiver"`
Description string `bson:"description"`
SubscribedCategories []contract.NotificationsCategory `bson:"subscribedCategories,omitempty"`
SubscribedLabels []string `bson:"subscribedLabels,omitempty"`
Channels []Channel `bson:"channels,omitempty"`
}
* A subscription for notification alerts * * * Subscription struct
func (*Subscription) FromContract ¶
func (s *Subscription) FromContract(from contract.Subscription) (id string, err error)
func (*Subscription) TimestampForAdd ¶
func (s *Subscription) TimestampForAdd()
func (*Subscription) TimestampForUpdate ¶
func (s *Subscription) TimestampForUpdate()
func (*Subscription) ToContract ¶
func (s *Subscription) ToContract() (c contract.Subscription)
type Transmission ¶
type Transmission struct {
Created int64 `bson:"created"`
Modified int64 `bson:"modified"`
Origin int64 `bson:"origin"`
Id bson.ObjectId `bson:"_id,omitempty"`
Uuid string `bson:"uuid,omitempty"`
Notification Notification `bson:"notification,omitempty"`
Receiver string `bson:"receiver"`
Channel Channel `bson:"channel,omitempty"`
Status contract.TransmissionStatus `bson:"status"`
ResendCount int `bson:"resendcount"`
Records []TransmissionRecord `bson:"records,omitempty"`
}
func (*Transmission) FromContract ¶
func (t *Transmission) FromContract(from contract.Transmission) (id string, err error)
func (*Transmission) TimestampForAdd ¶
func (t *Transmission) TimestampForAdd()
func (*Transmission) TimestampForUpdate ¶
func (t *Transmission) TimestampForUpdate()
func (*Transmission) ToContract ¶
func (t *Transmission) ToContract() (c contract.Transmission)
type TransmissionRecord ¶
type TransmissionRecord struct {
Status contract.TransmissionStatus `bson:"status"`
Response string `bson:"response"`
Sent int64 `bson:"sent"`
}
type ValueDescriptor ¶
type ValueDescriptor struct {
Id bson.ObjectId `bson:"_id,omitempty"`
Uuid string `bson:"uuid"`
Created int64 `bson:"created"`
Description string `bson:"description,omitempty"`
Modified int64 `bson:"modified"`
Origin int64 `bson:"origin"`
Name string `bson:"name"`
Min interface{} `bson:"min,omitempty"`
Max interface{} `bson:"max,omitempty"`
DefaultValue interface{} `bson:"defaultValue,omitempty"`
Type string `bson:"type,omitempty"`
UomLabel string `bson:"uomLabel,omitempty"`
Formatting string `bson:"formatting,omitempty"`
Labels []string `bson:"labels,omitempty"`
MediaType string `bson:"mediaType,omitempty"`
FloatEncoding string `bson:"floatEncoding,omitempty"`
}
func (*ValueDescriptor) FromContract ¶
func (v *ValueDescriptor) FromContract(from contract.ValueDescriptor) (id string, err error)
func (*ValueDescriptor) ToContract ¶
func (v *ValueDescriptor) ToContract() contract.ValueDescriptor
Click to show internal directories.
Click to hide internal directories.