Documentation ¶
Index ¶
- func FromProtocolModelsToDTOs(protocolModels map[string]models.ProtocolProperties) map[string]ProtocolProperties
- func ToAddressModel(a Address) models.Address
- func ToAddressModels(dtos []Address) []models.Address
- func ToAutoEventModel(a AutoEvent) models.AutoEvent
- func ToAutoEventModels(autoEventDTOs []AutoEvent) []models.AutoEvent
- func ToDeviceCommandModel(dto DeviceCommand) models.DeviceCommand
- func ToDeviceCommandModels(deviceCommandDTOs []DeviceCommand) []models.DeviceCommand
- func ToDeviceModel(dto Device) models.Device
- func ToDeviceProfileModel(deviceProfileDTO DeviceProfile) models.DeviceProfile
- func ToDeviceResourceModel(d DeviceResource) models.DeviceResource
- func ToDeviceResourceModels(deviceResourceDTOs []DeviceResource) []models.DeviceResource
- func ToDeviceServiceModel(dto DeviceService) models.DeviceService
- func ToDiscoveredDeviceModel(dto DiscoveredDevice) models.DiscoveredDevice
- func ToIntervalActionModel(dto IntervalAction) models.IntervalAction
- func ToIntervalModel(dto Interval) models.Interval
- func ToNotificationModel(n Notification) models.Notification
- func ToNotificationModels(notifications []Notification) []models.Notification
- func ToProtocolModels(protocolDTOs map[string]ProtocolProperties) map[string]models.ProtocolProperties
- func ToProtocolPropertiesModel(p ProtocolProperties) models.ProtocolProperties
- func ToProvisionWatcherModel(dto ProvisionWatcher) models.ProvisionWatcher
- func ToReadingModel(r BaseReading) models.Reading
- func ToRegistrationModel(dto Registration) models.Registration
- func ToResourceOperationModel(ro ResourceOperation) models.ResourceOperation
- func ToResourceOperationModels(dtos []ResourceOperation) []models.ResourceOperation
- func ToResourcePropertiesModel(p ResourceProperties) models.ResourceProperties
- func ToScheduleActionModel(dto ScheduleAction) models.ScheduleAction
- func ToScheduleActionModels(dtos []ScheduleAction) []models.ScheduleAction
- func ToScheduleActionRecordModel(dto ScheduleActionRecord) models.ScheduleActionRecord
- func ToScheduleDefModel(dto ScheduleDef) models.ScheduleDef
- func ToScheduleJobModel(dto ScheduleJob) models.ScheduleJob
- func ToSubscriptionModel(s Subscription) models.Subscription
- func ToSubscriptionModels(subs []Subscription) []models.Subscription
- func ToTransmissionModel(trans Transmission) models.Transmission
- func ToTransmissionModels(ts []Transmission) []models.Transmission
- func ToTransmissionRecordModel(tr TransmissionRecord) models.TransmissionRecord
- func ToTransmissionRecordModels(trs []TransmissionRecord) []models.TransmissionRecord
- func ValidateDeviceProfileDTO(profile DeviceProfile) error
- func ValidateMetricName(name string, nameType string) error
- func ValidateValue(valueType string, value string) error
- type Address
- func FromAddressModelToDTO(address models.Address) Address
- func FromAddressModelsToDTOs(models []models.Address) []Address
- func NewEmailAddress(recipients []string) Address
- func NewMQTTAddress(host string, port int, publisher string, topic string) Address
- func NewRESTAddress(host string, port int, httpMethod string) Address
- type AutoEvent
- type BaseReading
- func FromReadingModelToDTO(reading models.Reading) BaseReading
- func NewBinaryReading(profileName string, deviceName string, resourceName string, binaryValue []byte, ...) BaseReading
- func NewObjectReading(profileName string, deviceName string, resourceName string, objectValue any) BaseReading
- func NewObjectReadingWithArray(profileName string, deviceName string, resourceName string, objectValue any) BaseReading
- func NewSimpleReading(profileName string, deviceName string, resourceName string, valueType string, ...) (BaseReading, error)
- type BinaryReading
- type CoreCommand
- type CoreCommandParameter
- type CronScheduleDef
- type DBTimestamp
- type Device
- type DeviceCommand
- type DeviceControlAction
- type DeviceCoreCommand
- type DeviceProfile
- type DeviceProfileBasicInfo
- type DeviceResource
- type DeviceService
- type DiscoveredDevice
- type EdgeXMessageBusAction
- type EmailAddress
- type Event
- func (e *Event) AddBinaryReading(resourceName string, binaryValue []byte, mediaType string)
- func (e *Event) AddObjectReading(resourceName string, objectValue interface{})
- func (e *Event) AddSimpleReading(resourceName string, valueType string, value interface{}) error
- func (e *Event) ToXML() (string, error)
- type HealthCheck
- type Interval
- type IntervalAction
- type IntervalScheduleDef
- type MQTTPubAddress
- type Metric
- type MetricField
- type MetricTag
- type Notification
- type ObjectReading
- type ProtocolProperties
- type ProvisionWatcher
- type RESTAction
- type RESTAddress
- type Registration
- type ResourceOperation
- type ResourceProperties
- type ScheduleAction
- type ScheduleActionRecord
- type ScheduleDef
- type ScheduleJob
- type SimpleReading
- type Subscription
- type SystemEvent
- type Tags
- type Transmission
- type TransmissionRecord
- type UpdateDevice
- type UpdateDeviceCommand
- type UpdateDeviceProfileBasicInfo
- type UpdateDeviceResource
- type UpdateDeviceService
- type UpdateDiscoveredDevice
- type UpdateInterval
- type UpdateIntervalAction
- type UpdateProvisionWatcher
- type UpdateScheduleJob
- type UpdateSubscription
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FromProtocolModelsToDTOs ¶
func FromProtocolModelsToDTOs(protocolModels map[string]models.ProtocolProperties) map[string]ProtocolProperties
FromProtocolModelsToDTOs transforms the Protocol model map to the Protocol DTO map
func ToAddressModel ¶
func ToAddressModels ¶
func ToAutoEventModel ¶
ToAutoEventModel transforms the AutoEvent DTO to the AutoEvent model
func ToAutoEventModels ¶
ToAutoEventModels transforms the AutoEvent DTO array to the AutoEvent model array
func ToDeviceCommandModel ¶
func ToDeviceCommandModel(dto DeviceCommand) models.DeviceCommand
ToDeviceCommandModel transforms the DeviceCommand DTO to the DeviceCommand model
func ToDeviceCommandModels ¶
func ToDeviceCommandModels(deviceCommandDTOs []DeviceCommand) []models.DeviceCommand
ToDeviceCommandModels transforms the DeviceCommand DTOs to the DeviceCommand models
func ToDeviceModel ¶
ToDeviceModel transforms the Device DTO to the Device Model
func ToDeviceProfileModel ¶
func ToDeviceProfileModel(deviceProfileDTO DeviceProfile) models.DeviceProfile
ToDeviceProfileModel transforms the DeviceProfile DTO to the DeviceProfile model
func ToDeviceResourceModel ¶
func ToDeviceResourceModel(d DeviceResource) models.DeviceResource
ToDeviceResourceModel transforms the DeviceResource DTO to the DeviceResource model
func ToDeviceResourceModels ¶
func ToDeviceResourceModels(deviceResourceDTOs []DeviceResource) []models.DeviceResource
ToDeviceResourceModels transforms the DeviceResource DTOs to the DeviceResource models
func ToDeviceServiceModel ¶
func ToDeviceServiceModel(dto DeviceService) models.DeviceService
ToDeviceServiceModel transforms the DeviceService DTO to the DeviceService Model
func ToDiscoveredDeviceModel ¶
func ToDiscoveredDeviceModel(dto DiscoveredDevice) models.DiscoveredDevice
func ToIntervalActionModel ¶
func ToIntervalActionModel(dto IntervalAction) models.IntervalAction
ToIntervalActionModel transforms the IntervalAction DTO to the IntervalAction Model
func ToIntervalModel ¶
ToIntervalModel transforms the Interval DTO to the Interval Model
func ToNotificationModel ¶
func ToNotificationModel(n Notification) models.Notification
ToNotificationModel transforms the Notification DTO to the Notification Model
func ToNotificationModels ¶
func ToNotificationModels(notifications []Notification) []models.Notification
ToNotificationModels transforms the Notification DTO array to the Notification model array
func ToProtocolModels ¶
func ToProtocolModels(protocolDTOs map[string]ProtocolProperties) map[string]models.ProtocolProperties
ToProtocolModels transforms the Protocol DTO map to the Protocol model map
func ToProtocolPropertiesModel ¶
func ToProtocolPropertiesModel(p ProtocolProperties) models.ProtocolProperties
ToProtocolPropertiesModel transforms the ProtocolProperties DTO to the ProtocolProperties model
func ToProvisionWatcherModel ¶
func ToProvisionWatcherModel(dto ProvisionWatcher) models.ProvisionWatcher
ToProvisionWatcherModel transforms the ProvisionWatcher DTO to the ProvisionWatcher model
func ToReadingModel ¶
func ToReadingModel(r BaseReading) models.Reading
ToReadingModel converts Reading DTO to Reading Model
func ToRegistrationModel ¶
func ToRegistrationModel(dto Registration) models.Registration
func ToResourceOperationModel ¶
func ToResourceOperationModel(ro ResourceOperation) models.ResourceOperation
ToResourceOperationModel transforms the ResourceOperation DTO to the ResourceOperation model
func ToResourceOperationModels ¶
func ToResourceOperationModels(dtos []ResourceOperation) []models.ResourceOperation
func ToResourcePropertiesModel ¶
func ToResourcePropertiesModel(p ResourceProperties) models.ResourceProperties
ToResourcePropertiesModel transforms the ResourceProperties DTO to the ResourceProperties model
func ToScheduleActionModel ¶
func ToScheduleActionModel(dto ScheduleAction) models.ScheduleAction
func ToScheduleActionModels ¶
func ToScheduleActionModels(dtos []ScheduleAction) []models.ScheduleAction
func ToScheduleActionRecordModel ¶
func ToScheduleActionRecordModel(dto ScheduleActionRecord) models.ScheduleActionRecord
func ToScheduleDefModel ¶
func ToScheduleDefModel(dto ScheduleDef) models.ScheduleDef
func ToScheduleJobModel ¶
func ToScheduleJobModel(dto ScheduleJob) models.ScheduleJob
func ToSubscriptionModel ¶
func ToSubscriptionModel(s Subscription) models.Subscription
ToSubscriptionModel transforms the Subscription DTO to the Subscription Model
func ToSubscriptionModels ¶
func ToSubscriptionModels(subs []Subscription) []models.Subscription
ToSubscriptionModels transforms the Subscription DTO array to the Subscription model array
func ToTransmissionModel ¶
func ToTransmissionModel(trans Transmission) models.Transmission
ToTransmissionModel transforms a Transmission DTO to a Transmission Model
func ToTransmissionModels ¶
func ToTransmissionModels(ts []Transmission) []models.Transmission
ToTransmissionModels transforms a Transmission DTO array to a Transmission model array
func ToTransmissionRecordModel ¶
func ToTransmissionRecordModel(tr TransmissionRecord) models.TransmissionRecord
ToTransmissionRecordModel transforms a TransmissionRecord DTO to a TransmissionRecord Model
func ToTransmissionRecordModels ¶
func ToTransmissionRecordModels(trs []TransmissionRecord) []models.TransmissionRecord
ToTransmissionRecordModels transforms a TransmissionRecord DTO array to a TransmissionRecord model array
func ValidateDeviceProfileDTO ¶
func ValidateDeviceProfileDTO(profile DeviceProfile) error
func ValidateMetricName ¶
func ValidateValue ¶
ValidateValue used to check whether the value and valueType are matched
Types ¶
type Address ¶
type Address struct { Type string `json:"type" validate:"oneof='REST' 'MQTT' 'EMAIL'"` Host string `json:"host" validate:"required_unless=Type EMAIL"` Port int `json:"port" validate:"required_unless=Type EMAIL"` RESTAddress `json:",inline" validate:"-"` MQTTPubAddress `json:",inline" validate:"-"` EmailAddress `json:",inline" validate:"-"` }
func FromAddressModelToDTO ¶
func FromAddressModelsToDTOs ¶
func NewEmailAddress ¶
func NewMQTTAddress ¶
type AutoEvent ¶
type AutoEvent struct { Interval string `json:"interval" yaml:"interval" validate:"required,edgex-dto-duration"` OnChange bool `json:"onChange" yaml:"onChange"` SourceName string `json:"sourceName" yaml:"sourceName" validate:"required"` }
func FromAutoEventModelToDTO ¶
FromAutoEventModelToDTO transforms the AutoEvent model to the AutoEvent DTO
func FromAutoEventModelsToDTOs ¶
FromAutoEventModelsToDTOs transforms the AutoEvent model array to the AutoEvent DTO array
type BaseReading ¶
type BaseReading struct { Id string `json:"id,omitempty"` Origin int64 `json:"origin" validate:"required"` DeviceName string `json:"deviceName" validate:"required,edgex-dto-none-empty-string"` ResourceName string `json:"resourceName" validate:"required"` ProfileName string `json:"profileName" validate:"required,edgex-dto-none-empty-string"` ValueType string `json:"valueType" validate:"required,edgex-dto-value-type"` Units string `json:"units,omitempty"` Tags Tags `json:"tags,omitempty"` BinaryReading `json:",inline" validate:"-"` SimpleReading `json:",inline" validate:"-"` ObjectReading `json:",inline" validate:"-"` }
func FromReadingModelToDTO ¶
func FromReadingModelToDTO(reading models.Reading) BaseReading
func NewBinaryReading ¶
func NewBinaryReading(profileName string, deviceName string, resourceName string, binaryValue []byte, mediaType string) BaseReading
NewBinaryReading creates and returns a new initialized BaseReading with its BinaryReading initialized
func NewObjectReading ¶
func NewObjectReading(profileName string, deviceName string, resourceName string, objectValue any) BaseReading
NewObjectReading creates and returns a new initialized BaseReading with its ObjectReading initialized
func NewObjectReadingWithArray ¶
func NewObjectReadingWithArray(profileName string, deviceName string, resourceName string, objectValue any) BaseReading
NewObjectReadingWithArray creates and returns a new initialized BaseReading with its ObjectReading initialized with ObjectArray valueType
func NewSimpleReading ¶
func NewSimpleReading(profileName string, deviceName string, resourceName string, valueType string, value any) (BaseReading, error)
NewSimpleReading creates and returns a new initialized BaseReading with its SimpleReading initialized
func (BaseReading) UnmarshalObjectValue ¶
func (b BaseReading) UnmarshalObjectValue(target any) error
UnmarshalObjectValue is a helper function used to unmarshal the ObjectValue of a reading to the passed in target type. Note that this function will only work on readings with 'Object' or 'ObjectArray' valueType. An error will be returned when invoking this function on a reading with valueType other than 'Object' or 'ObjectArray'.
func (BaseReading) Validate ¶
func (b BaseReading) Validate() error
Validate satisfies the Validator interface
type BinaryReading ¶
type CoreCommand ¶
type CoreCommand struct { Name string `json:"name" validate:"required,edgex-dto-none-empty-string"` Get bool `json:"get,omitempty" validate:"required_without=Set"` Set bool `json:"set,omitempty" validate:"required_without=Get"` Path string `json:"path,omitempty"` Url string `json:"url,omitempty"` Parameters []CoreCommandParameter `json:"parameters,omitempty"` }
type CoreCommandParameter ¶
type CronScheduleDef ¶
type CronScheduleDef struct {
Crontab string `json:"crontab,omitempty" validate:"required"`
}
type DBTimestamp ¶
type Device ¶
type Device struct { DBTimestamp `json:",inline"` Id string `json:"id,omitempty" yaml:"id,omitempty" validate:"omitempty,uuid"` Name string `json:"name" yaml:"name" validate:"required,edgex-dto-none-empty-string"` Parent string `json:"parent,omitempty" yaml:"parent,omitempty"` Description string `json:"description,omitempty" yaml:"description,omitempty"` AdminState string `json:"adminState" yaml:"adminState" validate:"oneof='LOCKED' 'UNLOCKED'"` OperatingState string `json:"operatingState" yaml:"operatingState" validate:"oneof='UP' 'DOWN' 'UNKNOWN'"` Labels []string `json:"labels,omitempty" yaml:"labels,omitempty"` Location interface{} `json:"location,omitempty" yaml:"location,omitempty"` ServiceName string `json:"serviceName" yaml:"serviceName" validate:"required,edgex-dto-none-empty-string"` ProfileName string `json:"profileName,omitempty" yaml:"profileName,omitempty"` AutoEvents []AutoEvent `json:"autoEvents,omitempty" yaml:"autoEvents,omitempty" validate:"dive"` Protocols map[string]ProtocolProperties `json:"protocols" yaml:"protocols" validate:"required"` Tags map[string]any `json:"tags,omitempty" yaml:"tags,omitempty"` Properties map[string]any `json:"properties,omitempty" yaml:"properties,omitempty"` }
func FromDeviceModelToDTO ¶
FromDeviceModelToDTO transforms the Device Model to the Device DTO
type DeviceCommand ¶
type DeviceCommand struct { Name string `json:"name" yaml:"name" validate:"required,edgex-dto-none-empty-string"` IsHidden bool `json:"isHidden" yaml:"isHidden"` ReadWrite string `json:"readWrite" yaml:"readWrite" validate:"required,oneof='R' 'W' 'RW' 'WR'"` ResourceOperations []ResourceOperation `json:"resourceOperations" yaml:"resourceOperations" validate:"gt=0,dive"` Tags map[string]any `json:"tags,omitempty" yaml:"tags,omitempty"` }
func FromDeviceCommandModelToDTO ¶
func FromDeviceCommandModelToDTO(d models.DeviceCommand) DeviceCommand
FromDeviceCommandModelToDTO transforms the DeviceCommand model to the DeviceCommand DTO
func FromDeviceCommandModelsToDTOs ¶
func FromDeviceCommandModelsToDTOs(deviceCommandModels []models.DeviceCommand) []DeviceCommand
FromDeviceCommandModelsToDTOs transforms the DeviceCommand models to the DeviceCommand DTOs
type DeviceControlAction ¶
type DeviceCoreCommand ¶
type DeviceCoreCommand struct { DeviceName string `json:"deviceName" validate:"required,edgex-dto-none-empty-string"` ProfileName string `json:"profileName" validate:"required,edgex-dto-none-empty-string"` CoreCommands []CoreCommand `json:"coreCommands,omitempty" validate:"dive"` }
type DeviceProfile ¶
type DeviceProfile struct { DeviceProfileBasicInfo `json:",inline" yaml:",inline"` DeviceResources []DeviceResource `json:"deviceResources" yaml:"deviceResources" validate:"dive"` DeviceCommands []DeviceCommand `json:"deviceCommands" yaml:"deviceCommands" validate:"dive"` }
func FromDeviceProfileModelToDTO ¶
func FromDeviceProfileModelToDTO(deviceProfile models.DeviceProfile) DeviceProfile
FromDeviceProfileModelToDTO transforms the DeviceProfile Model to the DeviceProfile DTO
func (*DeviceProfile) UnmarshalYAML ¶
func (dp *DeviceProfile) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the Unmarshaler interface for the DeviceProfile type
func (*DeviceProfile) Validate ¶
func (dp *DeviceProfile) Validate() error
Validate satisfies the Validator interface
type DeviceProfileBasicInfo ¶
type DeviceProfileBasicInfo struct { DBTimestamp `json:",inline"` Id string `json:"id" validate:"omitempty,uuid"` Name string `json:"name" yaml:"name" validate:"required,edgex-dto-none-empty-string"` Manufacturer string `json:"manufacturer" yaml:"manufacturer"` Description string `json:"description" yaml:"description"` Model string `json:"model" yaml:"model"` Labels []string `json:"labels" yaml:"labels,flow"` }
func FromDeviceProfileModelToBasicInfoDTO ¶
func FromDeviceProfileModelToBasicInfoDTO(deviceProfile models.DeviceProfile) DeviceProfileBasicInfo
FromDeviceProfileModelToBasicInfoDTO transforms the DeviceProfile Model to the DeviceProfileBasicInfo DTO
type DeviceResource ¶
type DeviceResource struct { Description string `json:"description" yaml:"description"` Name string `json:"name" yaml:"name" validate:"required,edgex-dto-none-empty-string"` IsHidden bool `json:"isHidden" yaml:"isHidden"` Properties ResourceProperties `json:"properties" yaml:"properties"` Attributes map[string]interface{} `json:"attributes" yaml:"attributes"` Tags map[string]any `json:"tags,omitempty" yaml:"tags,omitempty"` }
func FromDeviceResourceModelToDTO ¶
func FromDeviceResourceModelToDTO(d models.DeviceResource) DeviceResource
FromDeviceResourceModelToDTO transforms the DeviceResource model to the DeviceResource DTO
func FromDeviceResourceModelsToDTOs ¶
func FromDeviceResourceModelsToDTOs(deviceResourceModels []models.DeviceResource) []DeviceResource
FromDeviceResourceModelsToDTOs transforms the DeviceResource models to the DeviceResource DTOs
type DeviceService ¶
type DeviceService struct { DBTimestamp `json:",inline"` Id string `json:"id,omitempty" validate:"omitempty,uuid"` Name string `json:"name" validate:"required,edgex-dto-none-empty-string"` Description string `json:"description,omitempty"` Labels []string `json:"labels,omitempty"` BaseAddress string `json:"baseAddress" validate:"required,uri"` AdminState string `json:"adminState" validate:"oneof='LOCKED' 'UNLOCKED'"` }
func FromDeviceServiceModelToDTO ¶
func FromDeviceServiceModelToDTO(ds models.DeviceService) DeviceService
FromDeviceServiceModelToDTO transforms the DeviceService Model to the DeviceService DTO
type DiscoveredDevice ¶
type DiscoveredDevice struct { ProfileName string `json:"profileName" yaml:"profileName" validate:"len=0|edgex-dto-none-empty-string"` AdminState string `json:"adminState" yaml:"adminState" validate:"oneof='LOCKED' 'UNLOCKED'"` AutoEvents []AutoEvent `json:"autoEvents,omitempty" yaml:"autoEvents,omitempty" validate:"dive"` Properties map[string]any `json:"properties,omitempty" yaml:"properties,omitempty"` }
func FromDiscoveredDeviceModelToDTO ¶
func FromDiscoveredDeviceModelToDTO(d models.DiscoveredDevice) DiscoveredDevice
type EdgeXMessageBusAction ¶
type EdgeXMessageBusAction struct {
Topic string `json:"topic,omitempty" validate:"required"`
}
type EmailAddress ¶
type EmailAddress struct {
Recipients []string `json:"recipients,omitempty" validate:"gt=0,dive,email"`
}
type Event ¶
type Event struct { common.Versionable `json:",inline"` Id string `json:"id" validate:"required,uuid"` DeviceName string `json:"deviceName" validate:"required,edgex-dto-none-empty-string"` ProfileName string `json:"profileName" validate:"required,edgex-dto-none-empty-string"` SourceName string `json:"sourceName" validate:"required"` Origin int64 `json:"origin" validate:"required"` Readings []BaseReading `json:"readings" validate:"gt=0,dive,required"` Tags Tags `json:"tags,omitempty"` }
func FromEventModelToDTO ¶
FromEventModelToDTO transforms the Event Model to the Event DTO
func (*Event) AddBinaryReading ¶
AddBinaryReading adds a binary reading to the Event
func (*Event) AddObjectReading ¶
AddObjectReading adds a object reading to the Event
func (*Event) AddSimpleReading ¶
AddSimpleReading adds a simple reading to the Event
type HealthCheck ¶
type Interval ¶
type Interval struct { DBTimestamp `json:",inline"` Id string `json:"id,omitempty" validate:"omitempty,uuid"` Name string `json:"name" validate:"edgex-dto-none-empty-string"` Start string `json:"start,omitempty" validate:"omitempty,edgex-dto-interval-datetime"` End string `json:"end,omitempty" validate:"omitempty,edgex-dto-interval-datetime"` Interval string `json:"interval" validate:"required,edgex-dto-duration"` }
func FromIntervalModelToDTO ¶
FromIntervalModelToDTO transforms the Interval Model to the Interval DTO
func NewInterval ¶
NewInterval creates interval DTO with required fields
type IntervalAction ¶
type IntervalAction struct { DBTimestamp `json:",inline"` Id string `json:"id,omitempty" validate:"omitempty,uuid"` Name string `json:"name" validate:"edgex-dto-none-empty-string"` IntervalName string `json:"intervalName" validate:"edgex-dto-none-empty-string"` Address Address `json:"address" validate:"required"` Content string `json:"content,omitempty"` ContentType string `json:"contentType,omitempty"` AdminState string `json:"adminState" validate:"oneof='LOCKED' 'UNLOCKED'"` AuthMethod string `json:"authMethod" validate:"oneof='' 'NONE' 'JWT'"` }
func FromIntervalActionModelToDTO ¶
func FromIntervalActionModelToDTO(model models.IntervalAction) IntervalAction
FromIntervalActionModelToDTO transforms the IntervalAction Model to the IntervalAction DTO
func NewIntervalAction ¶
func NewIntervalAction(name string, intervalName string, address Address) IntervalAction
NewIntervalAction creates intervalAction DTO with required fields
type IntervalScheduleDef ¶
type IntervalScheduleDef struct {
Interval string `json:"interval,omitempty" validate:"required,edgex-dto-duration"`
}
type MQTTPubAddress ¶
type MQTTPubAddress struct { Publisher string `json:"publisher,omitempty" validate:"required"` Topic string `json:"topic,omitempty" validate:"required"` QoS int `json:"qos,omitempty"` KeepAlive int `json:"keepAlive,omitempty"` Retained bool `json:"retained,omitempty"` AutoReconnect bool `json:"autoReconnect,omitempty"` ConnectTimeout int `json:"connectTimeout,omitempty"` }
type Metric ¶
type Metric struct { common.Versionable `json:",inline"` // Name is the identifier of the collected Metric Name string `json:"name" validate:"edgex-dto-none-empty-string"` // Fields are the Key/Value measurements associated with the metric Fields []MetricField `json:"fields,omitempty" validate:"required"` // Tags and the Key/Value tags associated with the metric Tags []MetricTag `json:"tags,omitempty"` // Timestamp is the time and date the metric was collected. Timestamp int64 `json:"timestamp" validate:"required"` }
Metric defines the metric data for a specific named metric
func NewMetric ¶
func NewMetric(name string, fields []MetricField, tags []MetricTag) (Metric, error)
NewMetric creates a new metric for the specified data
func (*Metric) ToLineProtocol ¶
ToLineProtocol transforms the Metric to Line Protocol syntax which is most commonly used with InfluxDB For more information on Line Protocol see: https://docs.influxdata.com/influxdb/v2.0/reference/syntax/line-protocol/ Line Protocol Syntax:
<measurement>[,<tag_key>=<tag_value>[,<tag_key>=<tag_value>]] <field_key>=<field_value>[,<field_key>=<field_value>] [<timestamp>]
Examples:
measurementName fieldKey="field string value" 1556813561098000000 myMeasurement,tag1=value1,tag2=value2 fieldKey="fieldValue" 1556813561098000000
Note that this is a simple helper function for those receiving this DTO that are pushing metrics to an endpoint that receives LineProtocol such as InfluxDb or Telegraf
type MetricField ¶
type MetricField struct { // Name is the identifier of the metric field Name string `json:"name" validate:"edgex-dto-none-empty-string"` // Value is measurement for the metric field Value interface{} `json:"value" validate:"required"` }
MetricField defines a metric field associated with a metric
type MetricTag ¶
type MetricTag struct { // Name is the identifier of the metric tag Name string `json:"name" validate:"edgex-dto-none-empty-string"` // Value is tag vale for the metric tag Value string `json:"value" validate:"required"` }
MetricTag defines a metric tag associated with a metric
type Notification ¶
type Notification struct { DBTimestamp `json:",inline"` Id string `json:"id,omitempty" validate:"omitempty,uuid"` Category string `` /* 133-byte string literal not displayed */ Labels []string `` /* 143-byte string literal not displayed */ Content string `json:"content" validate:"required,edgex-dto-none-empty-string"` ContentType string `json:"contentType,omitempty"` Description string `json:"description,omitempty"` Sender string `json:"sender" validate:"required,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` Severity string `json:"severity" validate:"required,oneof='MINOR' 'NORMAL' 'CRITICAL'"` Status string `json:"status,omitempty" validate:"omitempty,oneof='NEW' 'PROCESSED' 'ESCALATED'"` }
func FromNotificationModelToDTO ¶
func FromNotificationModelToDTO(n models.Notification) Notification
FromNotificationModelToDTO transforms the Notification Model to the Notification DTO
func FromNotificationModelsToDTOs ¶
func FromNotificationModelsToDTOs(notifications []models.Notification) []Notification
FromNotificationModelsToDTOs transforms the Notification model array to the Notification DTO array
func NewNotification ¶
func NewNotification(labels []string, category, content, sender, severity string) Notification
NewNotification creates and returns a Notification DTO
type ObjectReading ¶
type ObjectReading struct {
ObjectValue any `json:"objectValue,omitempty" validate:"required"`
}
type ProtocolProperties ¶
ProtocolProperties contains the device connection information in key/value pair
func FromProtocolPropertiesModelToDTO ¶
func FromProtocolPropertiesModelToDTO(p models.ProtocolProperties) ProtocolProperties
FromProtocolPropertiesModelToDTO transforms the ProtocolProperties model to the ProtocolProperties DTO
type ProvisionWatcher ¶
type ProvisionWatcher struct { DBTimestamp `json:",inline"` Id string `json:"id,omitempty" yaml:"id,omitempty" validate:"omitempty,uuid"` Name string `json:"name" yaml:"name" validate:"required,edgex-dto-none-empty-string"` ServiceName string `json:"serviceName" yaml:"serviceName" validate:"required,edgex-dto-none-empty-string"` Labels []string `json:"labels,omitempty" yaml:"labels,omitempty"` Identifiers map[string]string `json:"identifiers" yaml:"identifiers" validate:"gt=0,dive,keys,required,endkeys,required"` BlockingIdentifiers map[string][]string `json:"blockingIdentifiers,omitempty" yaml:"blockingIdentifiers,omitempty"` AdminState string `json:"adminState" yaml:"adminState" validate:"oneof='LOCKED' 'UNLOCKED'"` DiscoveredDevice DiscoveredDevice `json:"discoveredDevice" yaml:"discoveredDevice"` }
func FromProvisionWatcherModelToDTO ¶
func FromProvisionWatcherModelToDTO(pw models.ProvisionWatcher) ProvisionWatcher
FromProvisionWatcherModelToDTO transforms the ProvisionWatcher Model to the ProvisionWatcher DTO
type RESTAction ¶
type RESTAddress ¶
type Registration ¶
type Registration struct { DBTimestamp `json:",inline"` ServiceId string `json:"serviceId" validate:"required"` Status string `json:"status"` Host string `json:"host" validate:"required"` Port int `json:"port" validate:"required"` HealthCheck HealthCheck `json:",inline"` }
func FromRegistrationModelToDTO ¶
func FromRegistrationModelToDTO(r models.Registration) Registration
func (*Registration) Validate ¶
func (r *Registration) Validate() error
type ResourceOperation ¶
type ResourceOperation struct { DeviceResource string `json:"deviceResource" yaml:"deviceResource" validate:"required"` // The replacement of Object field DefaultValue string `json:"defaultValue" yaml:"defaultValue"` Mappings map[string]string `json:"mappings" yaml:"mappings"` }
func FromResourceOperationModelToDTO ¶
func FromResourceOperationModelToDTO(ro models.ResourceOperation) ResourceOperation
FromResourceOperationModelToDTO transforms the ResourceOperation model to the ResourceOperation DTO
type ResourceProperties ¶
type ResourceProperties struct { ValueType string `json:"valueType" yaml:"valueType" validate:"required,edgex-dto-value-type"` ReadWrite string `json:"readWrite" yaml:"readWrite" validate:"required,oneof='R' 'W' 'RW' 'WR'"` Units string `json:"units,omitempty" yaml:"units"` Minimum *float64 `json:"minimum,omitempty" yaml:"minimum"` Maximum *float64 `json:"maximum,omitempty" yaml:"maximum"` DefaultValue string `json:"defaultValue,omitempty" yaml:"defaultValue"` Mask *uint64 `json:"mask,omitempty" yaml:"mask"` Shift *int64 `json:"shift,omitempty" yaml:"shift"` Scale *float64 `json:"scale,omitempty" yaml:"scale"` Offset *float64 `json:"offset,omitempty" yaml:"offset"` Base *float64 `json:"base,omitempty" yaml:"base"` Assertion string `json:"assertion,omitempty" yaml:"assertion"` MediaType string `json:"mediaType,omitempty" yaml:"mediaType"` Optional map[string]any `json:"optional,omitempty" yaml:"optional"` }
func FromResourcePropertiesModelToDTO ¶
func FromResourcePropertiesModelToDTO(p models.ResourceProperties) ResourceProperties
FromResourcePropertiesModelToDTO transforms the ResourceProperties Model to the ResourceProperties DTO
type ScheduleAction ¶
type ScheduleAction struct { Type string `json:"type" validate:"oneof='EDGEXMESSAGEBUS' 'REST' 'DEVICECONTROL'"` ContentType string `json:"contentType,omitempty"` Payload []byte `json:"payload,omitempty"` EdgeXMessageBusAction `json:",inline" validate:"-"` RESTAction `json:",inline" validate:"-"` DeviceControlAction `json:",inline" validate:"-"` }
func FromScheduleActionModelToDTO ¶
func FromScheduleActionModelToDTO(model models.ScheduleAction) ScheduleAction
func FromScheduleActionModelsToDTOs ¶
func FromScheduleActionModelsToDTOs(models []models.ScheduleAction) []ScheduleAction
func (*ScheduleAction) UnmarshalJSON ¶
func (s *ScheduleAction) UnmarshalJSON(b []byte) error
func (*ScheduleAction) Validate ¶
func (s *ScheduleAction) Validate() error
type ScheduleActionRecord ¶
type ScheduleActionRecord struct { Id string `json:"id,omitempty" validate:"omitempty,uuid"` JobName string `json:"jobName" validate:"edgex-dto-none-empty-string"` Action ScheduleAction `json:"action" validate:"required"` Status string `json:"status" validate:"required,oneof='SUCCEEDED' 'FAILED' 'MISSED'"` ScheduledAt int64 `json:"scheduledAt,omitempty"` Created int64 `json:"created,omitempty"` }
func FromScheduleActionRecordModelToDTO ¶
func FromScheduleActionRecordModelToDTO(model models.ScheduleActionRecord) ScheduleActionRecord
func (*ScheduleActionRecord) Validate ¶
func (c *ScheduleActionRecord) Validate() error
Validate satisfies the Validator interface
type ScheduleDef ¶
type ScheduleDef struct { Type string `json:"type" validate:"oneof='INTERVAL' 'CRON'"` IntervalScheduleDef `json:",inline" validate:"-"` CronScheduleDef `json:",inline" validate:"-"` }
func FromScheduleDefModelToDTO ¶
func FromScheduleDefModelToDTO(model models.ScheduleDef) ScheduleDef
func (*ScheduleDef) Validate ¶
func (s *ScheduleDef) Validate() error
Validate satisfies the Validator interface
type ScheduleJob ¶
type ScheduleJob struct { DBTimestamp `json:",inline"` Id string `json:"id,omitempty" validate:"omitempty,uuid"` Name string `json:"name" validate:"edgex-dto-none-empty-string"` Definition ScheduleDef `json:"definition" validate:"required"` Actions []ScheduleAction `json:"actions" validate:"required,gt=0,dive"` AdminState string `json:"adminState" validate:"omitempty,oneof='LOCKED' 'UNLOCKED'"` Labels []string `json:"labels,omitempty"` Properties map[string]any `json:"properties,omitempty"` }
func FromScheduleJobModelToDTO ¶
func FromScheduleJobModelToDTO(model models.ScheduleJob) ScheduleJob
func (*ScheduleJob) Validate ¶
func (s *ScheduleJob) Validate() error
Validate satisfies the Validator interface
type SimpleReading ¶
type SimpleReading struct {
Value string `json:"value"`
}
type Subscription ¶
type Subscription struct { DBTimestamp `json:",inline"` Id string `json:"id,omitempty" validate:"omitempty,uuid"` Name string `json:"name" validate:"required,edgex-dto-none-empty-string"` Channels []Address `json:"channels" validate:"required,gt=0,dive"` Receiver string `json:"receiver" validate:"required,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` Categories []string `` /* 145-byte string literal not displayed */ Labels []string `` /* 145-byte string literal not displayed */ Description string `json:"description,omitempty"` ResendLimit int `json:"resendLimit,omitempty"` ResendInterval string `json:"resendInterval,omitempty" validate:"omitempty,edgex-dto-duration"` AdminState string `json:"adminState" validate:"oneof='LOCKED' 'UNLOCKED'"` }
func FromSubscriptionModelToDTO ¶
func FromSubscriptionModelToDTO(s models.Subscription) Subscription
FromSubscriptionModelToDTO transforms the Subscription Model to the Subscription DTO
func FromSubscriptionModelsToDTOs ¶
func FromSubscriptionModelsToDTOs(subscruptions []models.Subscription) []Subscription
FromSubscriptionModelsToDTOs transforms the Subscription model array to the Subscription DTO array
type SystemEvent ¶
type SystemEvent struct { common.Versionable `json:",inline"` Type string `json:"type"` Action string `json:"action"` Source string `json:"source"` Owner string `json:"owner"` Tags map[string]string `json:"tags"` Details any `json:"details"` Timestamp int64 `json:"timestamp"` }
SystemEvent defines the data for a system event
func NewSystemEvent ¶
func NewSystemEvent(eventType, action, source, owner string, tags map[string]string, details any) SystemEvent
NewSystemEvent creates a new SystemEvent for the specified data
func (*SystemEvent) DecodeDetails ¶
func (s *SystemEvent) DecodeDetails(details any) error
DecodeDetails decodes the details (any type) into the passed in object
type Tags ¶
func (Tags) MarshalXML ¶
MarshalXML fulfills the Marshaler interface for Tags field, which is being ignored from XML Marshaling since maps are not supported. We have to provide our own marshaling of the Tags field if it is non-empty.
type Transmission ¶
type Transmission struct { Created int64 `json:"created,omitempty"` Id string `json:"id,omitempty" validate:"omitempty,uuid"` Channel Address `json:"channel" validate:"required"` NotificationId string `json:"notificationId" validate:"required"` SubscriptionName string `json:"subscriptionName" validate:"required,edgex-dto-none-empty-string"` Records []TransmissionRecord `json:"records,omitempty"` ResendCount int `json:"resendCount,omitempty"` Status string `json:"status" validate:"required,oneof='ACKNOWLEDGED' 'FAILED' 'SENT' 'ESCALATED' 'RESENDING'"` }
func FromTransmissionModelToDTO ¶
func FromTransmissionModelToDTO(trans models.Transmission) Transmission
FromTransmissionModelToDTO transforms a Transmission Model to a Transmission DTO
func FromTransmissionModelsToDTOs ¶
func FromTransmissionModelsToDTOs(ts []models.Transmission) []Transmission
FromTransmissionModelsToDTOs transforms a Transmission model array to a Transmission DTO array
type TransmissionRecord ¶
type TransmissionRecord struct { Status string `json:"status,omitempty" validate:"omitempty,oneof='ACKNOWLEDGED' 'FAILED' 'SENT' 'ESCALATED'"` Response string `json:"response,omitempty"` Sent int64 `json:"sent,omitempty"` }
func FromTransmissionRecordModelToDTO ¶
func FromTransmissionRecordModelToDTO(tr models.TransmissionRecord) TransmissionRecord
FromTransmissionRecordModelToDTO transforms a TransmissionRecord Model to a TransmissionRecord DTO
func FromTransmissionRecordModelsToDTOs ¶
func FromTransmissionRecordModelsToDTOs(trs []models.TransmissionRecord) []TransmissionRecord
FromTransmissionRecordModelsToDTOs transforms a TransmissionRecord model array to a TransmissionRecord DTO array
func (TransmissionRecord) String ¶
func (tr TransmissionRecord) String() string
String returns a JSON encoded string representation of the object
type UpdateDevice ¶
type UpdateDevice struct { Id *string `json:"id" validate:"required_without=Name,edgex-dto-uuid"` Name *string `json:"name" validate:"required_without=Id,edgex-dto-none-empty-string"` Parent *string `json:"parent,omitempty" yaml:"parent,omitempty"` Description *string `json:"description" validate:"omitempty"` AdminState *string `json:"adminState" validate:"omitempty,oneof='LOCKED' 'UNLOCKED'"` OperatingState *string `json:"operatingState" validate:"omitempty,oneof='UP' 'DOWN' 'UNKNOWN'"` ServiceName *string `json:"serviceName" validate:"omitempty,edgex-dto-none-empty-string"` ProfileName *string `json:"profileName" validate:"omitempty"` Labels []string `json:"labels"` Location interface{} `json:"location"` AutoEvents []AutoEvent `json:"autoEvents" validate:"dive"` Protocols map[string]ProtocolProperties `json:"protocols" validate:"omitempty"` Tags map[string]any `json:"tags"` Properties map[string]any `json:"properties"` }
func FromDeviceModelToUpdateDTO ¶
func FromDeviceModelToUpdateDTO(d models.Device) UpdateDevice
FromDeviceModelToUpdateDTO transforms the Device Model to the UpdateDevice DTO
type UpdateDeviceCommand ¶
type UpdateDeviceProfileBasicInfo ¶
type UpdateDeviceProfileBasicInfo struct { Id *string `json:"id" validate:"required_without=Name,edgex-dto-uuid"` Name *string `json:"name" validate:"required_without=Id,edgex-dto-none-empty-string"` Manufacturer *string `json:"manufacturer"` Description *string `json:"description"` Model *string `json:"model"` Labels []string `json:"labels"` }
type UpdateDeviceResource ¶
type UpdateDeviceService ¶
type UpdateDeviceService struct { Id *string `json:"id" validate:"required_without=Name,edgex-dto-uuid"` Name *string `json:"name" validate:"required_without=Id,edgex-dto-none-empty-string"` Description *string `json:"description"` BaseAddress *string `json:"baseAddress" validate:"omitempty,uri"` Labels []string `json:"labels"` AdminState *string `json:"adminState" validate:"omitempty,oneof='LOCKED' 'UNLOCKED'"` }
func FromDeviceServiceModelToUpdateDTO ¶
func FromDeviceServiceModelToUpdateDTO(ds models.DeviceService) UpdateDeviceService
FromDeviceServiceModelToUpdateDTO transforms the DeviceService Model to the UpdateDeviceService DTO
type UpdateDiscoveredDevice ¶
type UpdateDiscoveredDevice struct { ProfileName *string `json:"profileName" validate:"omitempty,len=0|edgex-dto-none-empty-string"` AdminState *string `json:"adminState" validate:"omitempty,oneof='LOCKED' 'UNLOCKED'"` AutoEvents []AutoEvent `json:"autoEvents" validate:"dive"` Properties map[string]any `json:"properties"` }
func FromDiscoveredDeviceModelToUpdateDTO ¶
func FromDiscoveredDeviceModelToUpdateDTO(d models.DiscoveredDevice) UpdateDiscoveredDevice
type UpdateInterval ¶
type UpdateInterval struct { Id *string `json:"id" validate:"required_without=Name,edgex-dto-uuid"` Name *string `json:"name" validate:"required_without=Id,edgex-dto-none-empty-string"` Start *string `json:"start" validate:"omitempty,edgex-dto-interval-datetime"` End *string `json:"end" validate:"omitempty,edgex-dto-interval-datetime"` Interval *string `json:"interval" validate:"omitempty,edgex-dto-duration"` }
func NewUpdateInterval ¶
func NewUpdateInterval(name string) UpdateInterval
NewUpdateInterval creates updateInterval DTO with required field
type UpdateIntervalAction ¶
type UpdateIntervalAction struct { Id *string `json:"id" validate:"required_without=Name,edgex-dto-uuid"` Name *string `json:"name" validate:"required_without=Id,edgex-dto-none-empty-string"` IntervalName *string `json:"intervalName" validate:"omitempty,edgex-dto-none-empty-string"` Content *string `json:"content"` ContentType *string `json:"contentType"` Address *Address `json:"address"` AdminState *string `json:"adminState" validate:"omitempty,oneof='LOCKED' 'UNLOCKED'"` AuthMethod *string `json:"authMethod" validate:"omitempty,oneof='' 'NONE' 'JWT'"` }
func NewUpdateIntervalAction ¶
func NewUpdateIntervalAction(name string) UpdateIntervalAction
NewUpdateIntervalAction creates updateIntervalAction DTO with required field
type UpdateProvisionWatcher ¶
type UpdateProvisionWatcher struct { Id *string `json:"id" validate:"required_without=Name,edgex-dto-uuid"` Name *string `json:"name" validate:"required_without=Id,edgex-dto-none-empty-string"` ServiceName *string `json:"serviceName" validate:"omitempty,edgex-dto-none-empty-string"` Labels []string `json:"labels"` Identifiers map[string]string `json:"identifiers" validate:"omitempty,gt=0,dive,keys,required,endkeys,required"` BlockingIdentifiers map[string][]string `json:"blockingIdentifiers"` AdminState *string `json:"adminState" validate:"omitempty,oneof='LOCKED' 'UNLOCKED'"` DiscoveredDevice UpdateDiscoveredDevice `json:"discoveredDevice"` }
func FromProvisionWatcherModelToUpdateDTO ¶
func FromProvisionWatcherModelToUpdateDTO(pw models.ProvisionWatcher) UpdateProvisionWatcher
FromProvisionWatcherModelToUpdateDTO transforms the ProvisionWatcher Model to the UpdateProvisionWatcher DTO
type UpdateScheduleJob ¶
type UpdateScheduleJob struct { Id *string `json:"id" validate:"required_without=Name,edgex-dto-uuid"` Name *string `json:"name" validate:"required_without=Id,edgex-dto-none-empty-string"` Definition *ScheduleDef `json:"definition" validate:"omitempty"` Actions []ScheduleAction `json:"actions,omitempty"` AdminState *string `json:"adminState" validate:"omitempty,oneof='LOCKED' 'UNLOCKED'"` Labels []string `json:"labels,omitempty"` Properties map[string]any `json:"properties,omitempty"` }
type UpdateSubscription ¶
type UpdateSubscription struct { Id *string `json:"id" validate:"required_without=Name,edgex-dto-uuid"` Name *string `json:"name" validate:"required_without=Id,edgex-dto-none-empty-string"` Channels []Address `json:"channels" validate:"omitempty,gt=0,dive"` Receiver *string `json:"receiver" validate:"omitempty,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` Categories []string `json:"categories" validate:"omitempty,dive,gt=0,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` Labels []string `json:"labels" validate:"omitempty,dive,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` Description *string `json:"description"` ResendLimit *int `json:"resendLimit"` ResendInterval *string `json:"resendInterval" validate:"omitempty,edgex-dto-duration"` AdminState *string `json:"adminState" validate:"omitempty,oneof='LOCKED' 'UNLOCKED'"` }
Source Files ¶
- address.go
- autoevent.go
- corecommand.go
- dbtimestamp.go
- device.go
- devicecommand.go
- deviceprofile.go
- deviceprofilebasicinfo.go
- deviceresource.go
- deviceservice.go
- discovereddevice.go
- event.go
- interval.go
- intervalaction.go
- metric.go
- notification.go
- protocolproperties.go
- provisionwatcher.go
- reading.go
- registration.go
- resourceoperation.go
- resourceproperties.go
- scheduleactionrecord.go
- schedulejob.go
- subscription.go
- systemevent.go
- tags.go
- transmission.go
- transmissionrecord.go