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 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 ToResourceOperationModel(ro ResourceOperation) models.ResourceOperation
- func ToResourceOperationModels(dtos []ResourceOperation) []models.ResourceOperation
- func ToResourcePropertiesModel(p ResourceProperties) models.ResourceProperties
- 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, ...) BaseReading
- func NewSimpleReading(profileName string, deviceName string, resourceName string, valueType string, ...) (BaseReading, error)
- type BinaryReading
- type CoreCommand
- type CoreCommandParameter
- type DBTimestamp
- type Device
- type DeviceCommand
- type DeviceCoreCommand
- type DeviceProfile
- type DeviceProfileBasicInfo
- type DeviceResource
- type DeviceService
- 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 Interval
- type IntervalAction
- type MQTTPubAddress
- type Metric
- type MetricField
- type MetricTag
- type Notification
- type ObjectReading
- type ProtocolProperties
- type ProvisionWatcher
- type RESTAddress
- type ResourceOperation
- type ResourceProperties
- type SimpleReading
- type Subscription
- type SystemEvent
- type Tags
- type Transmission
- type TransmissionRecord
- type UpdateDevice
- type UpdateDeviceCommand
- type UpdateDeviceProfileBasicInfo
- type UpdateDeviceResource
- type UpdateDeviceService
- type UpdateInterval
- type UpdateIntervalAction
- type UpdateProvisionWatcher
- 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 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 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 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" validate:"required,edgex-dto-duration"` OnChange bool `json:"onChange"` SourceName string `json:"sourceName" validate:"required"` }
AutoEvent and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-metadata/2.1.0#/AutoEvent
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-rfc3986-unreserved-chars"` ResourceName string `json:"resourceName" validate:"required,edgex-dto-rfc3986-unreserved-chars"` ProfileName string `json:"profileName" validate:"required,edgex-dto-rfc3986-unreserved-chars"` 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:"-"` }
BaseReading and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-data/2.1.0#/BaseReading
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 interface{}) BaseReading
NewObjectReading creates and returns a new initialized BaseReading with its ObjectReading initialized
func NewSimpleReading ¶
func NewSimpleReading(profileName string, deviceName string, resourceName string, valueType string, value interface{}) (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' valueType. An error will be returned when invoking this function on a reading with valueType other than 'Object'.
func (BaseReading) Validate ¶
func (b BaseReading) Validate() error
Validate satisfies the Validator interface
type BinaryReading ¶
type BinaryReading struct { BinaryValue []byte `json:"binaryValue,omitempty" validate:"gt=0,required"` MediaType string `json:"mediaType,omitempty" validate:"required"` }
BinaryReading and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-data/2.1.0#/BinaryReading
type CoreCommand ¶
type CoreCommand struct { Name string `json:"name" validate:"required,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` 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"` }
CoreCommand and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-command/2.1.0#/CoreCommand
type CoreCommandParameter ¶
type CoreCommandParameter struct { ResourceName string `json:"resourceName"` ValueType string `json:"valueType"` }
CoreCommandParameter and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-command/2.1.0#/CoreCommandParameter
type DBTimestamp ¶
type Device ¶
type Device struct { DBTimestamp `json:",inline"` Id string `json:"id,omitempty" validate:"omitempty,uuid"` Name string `json:"name" validate:"required,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` Description string `json:"description,omitempty"` AdminState string `json:"adminState" validate:"oneof='LOCKED' 'UNLOCKED'"` OperatingState string `json:"operatingState" validate:"oneof='UP' 'DOWN' 'UNKNOWN'"` Labels []string `json:"labels,omitempty"` Location interface{} `json:"location,omitempty"` ServiceName string `json:"serviceName" validate:"required,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` ProfileName string `json:"profileName" validate:"required,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` AutoEvents []AutoEvent `json:"autoEvents,omitempty" validate:"dive"` Protocols map[string]ProtocolProperties `json:"protocols" validate:"required,gt=0"` Tags map[string]any `json:"tags,omitempty"` Properties map[string]any `json:"properties,omitempty"` }
Device and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-metadata/2.1.0#/Device
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,edgex-dto-rfc3986-unreserved-chars"` 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"` }
DeviceCommand and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-metadata/2.1.0#/DeviceCommand
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 DeviceCoreCommand ¶
type DeviceCoreCommand struct { DeviceName string `json:"deviceName" validate:"required,edgex-dto-rfc3986-unreserved-chars"` ProfileName string `json:"profileName" validate:"required,edgex-dto-rfc3986-unreserved-chars"` CoreCommands []CoreCommand `json:"coreCommands,omitempty" validate:"dive"` }
DeviceCoreCommand and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-command/2.1.0#/DeviceCoreCommand
type DeviceProfile ¶
type DeviceProfile struct { DBTimestamp `json:",inline"` DeviceProfileBasicInfo `json:",inline" yaml:",inline"` DeviceResources []DeviceResource `json:"deviceResources" yaml:"deviceResources" validate:"dive"` DeviceCommands []DeviceCommand `json:"deviceCommands" yaml:"deviceCommands" validate:"dive"` }
DeviceProfile and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-metadata/2.1.0#/DeviceProfile
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 { Id string `json:"id" validate:"omitempty,uuid"` Name string `json:"name" yaml:"name" validate:"required,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` 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"` }
DeviceProfileBasicInfo and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-metadata/2.2.0#/DeviceProfileBasicInfo
type DeviceResource ¶
type DeviceResource struct { Description string `json:"description" yaml:"description"` Name string `json:"name" yaml:"name" validate:"required,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` 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"` }
DeviceResource and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-metadata/2.1.0#/DeviceResource
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,edgex-dto-rfc3986-unreserved-chars"` 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'"` }
DeviceService and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-metadata/2.1.0#/DeviceService
func FromDeviceServiceModelToDTO ¶
func FromDeviceServiceModelToDTO(ds models.DeviceService) DeviceService
FromDeviceServiceModelToDTO transforms the DeviceService Model to the DeviceService DTO
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-rfc3986-unreserved-chars"` ProfileName string `json:"profileName" validate:"required,edgex-dto-rfc3986-unreserved-chars"` SourceName string `json:"sourceName" validate:"required,edgex-dto-rfc3986-unreserved-chars"` Origin int64 `json:"origin" validate:"required"` Readings []BaseReading `json:"readings" validate:"gt=0,dive,required"` Tags Tags `json:"tags,omitempty"` }
Event and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-data/2.1.0#/Event
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 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,edgex-dto-rfc3986-unreserved-chars"` 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"` }
Interval and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/support-scheduler/2.1.0#/Interval
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,edgex-dto-rfc3986-unreserved-chars"` IntervalName string `json:"intervalName" validate:"edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` Address Address `json:"address" validate:"required"` Content string `json:"content,omitempty"` ContentType string `json:"contentType,omitempty"` AdminState string `json:"adminState" validate:"oneof='LOCKED' 'UNLOCKED'"` }
IntervalAction and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/support-scheduler/2.1.0#/IntervalAction
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 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'"` }
Notification and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/support-notifications/2.1.0#/Notification
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 interface{} `json:"objectValue,omitempty" validate:"required"`
}
ObjectReading and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-data/2.1.0#/ObjectReading
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" validate:"omitempty,uuid"` Name string `json:"name" validate:"required,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` Labels []string `json:"labels,omitempty"` Identifiers map[string]string `json:"identifiers" validate:"gt=0,dive,keys,required,endkeys,required"` BlockingIdentifiers map[string][]string `json:"blockingIdentifiers,omitempty"` ProfileName string `json:"profileName" validate:"required,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` ServiceName string `json:"serviceName" validate:"required,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` AdminState string `json:"adminState" validate:"oneof='LOCKED' 'UNLOCKED'"` AutoEvents []AutoEvent `json:"autoEvents,omitempty" validate:"dive"` }
ProvisionWatcher and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-metadata/2.1.0#/ProvisionWatcher
func FromProvisionWatcherModelToDTO ¶
func FromProvisionWatcherModelToDTO(pw models.ProvisionWatcher) ProvisionWatcher
FromProvisionWatcherModelToDTO transforms the ProvisionWatcher Model to the ProvisionWatcher DTO
type RESTAddress ¶
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"` }
ResourceOperation and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-metadata/2.1.0#/ResourceOperation
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" yaml:"units"` Minimum string `json:"minimum" yaml:"minimum"` Maximum string `json:"maximum" yaml:"maximum"` DefaultValue string `json:"defaultValue" yaml:"defaultValue"` Mask string `json:"mask" yaml:"mask"` Shift string `json:"shift" yaml:"shift"` Scale string `json:"scale" yaml:"scale"` Offset string `json:"offset" yaml:"offset"` Base string `json:"base" yaml:"base"` Assertion string `json:"assertion" yaml:"assertion"` MediaType string `json:"mediaType" yaml:"mediaType"` }
ResourceProperties and its properties care defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-metadata/2.1.0#/ResourceProperties
func FromResourcePropertiesModelToDTO ¶
func FromResourcePropertiesModelToDTO(p models.ResourceProperties) ResourceProperties
FromResourcePropertiesModelToDTO transforms the ResourceProperties Model to the ResourceProperties DTO
type SimpleReading ¶
type SimpleReading struct {
Value string `json:"value" validate:"required"`
}
SimpleReading and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-data/2.1.0#/SimpleReading
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,edgex-dto-rfc3986-unreserved-chars"` 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'"` }
Subscription and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/support-notifications/2.1.0#/Subscription
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,edgex-dto-rfc3986-unreserved-chars"` Records []TransmissionRecord `json:"records,omitempty"` ResendCount int `json:"resendCount,omitempty"` Status string `json:"status" validate:"required,oneof='ACKNOWLEDGED' 'FAILED' 'SENT' 'ESCALATED' 'RESENDING'"` }
Transmission and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/support-notifications/2.1.0#/Transmission
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,edgex-dto-rfc3986-unreserved-chars"` 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,edgex-dto-rfc3986-unreserved-chars"` ProfileName *string `json:"profileName" validate:"omitempty,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` Labels []string `json:"labels"` Location interface{} `json:"location"` AutoEvents []AutoEvent `json:"autoEvents" validate:"dive"` Protocols map[string]ProtocolProperties `json:"protocols" validate:"omitempty,gt=0"` Notify *bool `json:"notify"` Tags map[string]any `json:"tags"` Properties map[string]any `json:"properties"` }
UpdateDevice and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-metadata/2.1.0#/UpdateDevice
func FromDeviceModelToUpdateDTO ¶
func FromDeviceModelToUpdateDTO(d models.Device) UpdateDevice
FromDeviceModelToUpdateDTO transforms the Device Model to the UpdateDevice DTO
type UpdateDeviceCommand ¶
type UpdateDeviceCommand struct { Name *string `json:"name" validate:"required,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` IsHidden *bool `json:"isHidden"` }
UpdateDeviceCommand and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-metadata/2.2.0#/DeviceCommand
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,edgex-dto-rfc3986-unreserved-chars"` Manufacturer *string `json:"manufacturer"` Description *string `json:"description"` Model *string `json:"model"` Labels []string `json:"labels"` }
UpdateDeviceProfileBasicInfo and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-metadata/2.2.0#/DeviceProfileBasicInfo
type UpdateDeviceResource ¶
type UpdateDeviceResource struct { Description *string `json:"description"` Name *string `json:"name" validate:"required,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` IsHidden *bool `json:"isHidden"` }
UpdateDeviceResource and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-metadata/2.2.0#/DeviceResource
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,edgex-dto-rfc3986-unreserved-chars"` Description *string `json:"description"` BaseAddress *string `json:"baseAddress" validate:"omitempty,uri"` Labels []string `json:"labels"` AdminState *string `json:"adminState" validate:"omitempty,oneof='LOCKED' 'UNLOCKED'"` }
UpdateDeviceService and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-metadata/2.1.0#/UpdateDeviceService
func FromDeviceServiceModelToUpdateDTO ¶
func FromDeviceServiceModelToUpdateDTO(ds models.DeviceService) UpdateDeviceService
FromDeviceServiceModelToUpdateDTO transforms the DeviceService Model to the UpdateDeviceService DTO
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,edgex-dto-rfc3986-unreserved-chars"` 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"` }
UpdateInterval and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/support-scheduler/2.1.0#/UpdateInterval
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,edgex-dto-rfc3986-unreserved-chars"` IntervalName *string `json:"intervalName" validate:"omitempty,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` Content *string `json:"content"` ContentType *string `json:"contentType"` Address *Address `json:"address"` AdminState *string `json:"adminState" validate:"omitempty,oneof='LOCKED' 'UNLOCKED'"` }
UpdateIntervalAction and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/support-scheduler/2.1.0#/UpdateIntervalAction
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,edgex-dto-rfc3986-unreserved-chars"` 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"` ProfileName *string `json:"profileName" validate:"omitempty,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` ServiceName *string `json:"serviceName" validate:"omitempty,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` AdminState *string `json:"adminState" validate:"omitempty,oneof='LOCKED' 'UNLOCKED'"` AutoEvents []AutoEvent `json:"autoEvents" validate:"dive"` }
UpdateProvisionWatcher and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-metadata/2.1.0#/UpdateProvisionWatcher
func FromProvisionWatcherModelToUpdateDTO ¶
func FromProvisionWatcherModelToUpdateDTO(pw models.ProvisionWatcher) UpdateProvisionWatcher
FromProvisionWatcherModelToUpdateDTO transforms the ProvisionWatcher Model to the UpdateProvisionWatcher DTO
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,edgex-dto-rfc3986-unreserved-chars"` 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'"` }
UpdateSubscription and its properties are defined in the APIv2 specification: https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/support-notifications/2.1.0#/UpdateSubscription
Source Files ¶
- address.go
- autoevent.go
- corecommand.go
- dbtimestamp.go
- device.go
- devicecommand.go
- deviceprofile.go
- deviceprofilebasicinfo.go
- deviceresource.go
- deviceservice.go
- event.go
- interval.go
- intervalaction.go
- metric.go
- notification.go
- protocolproperties.go
- provisionwatcher.go
- reading.go
- resourceoperation.go
- resourceproperties.go
- subscription.go
- systemevent.go
- tags.go
- transmission.go
- transmissionrecord.go