Documentation ¶
Overview ¶
******************************************************************************
- Copyright 2022 Intel Corp. *
- 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 ¶
- func DeviceModelToModel(dto DeviceModel) models.DeviceModel
- func FromLabelWithDeviceCountDTOToModel(l LabelsWithDeviceCount) models.LabelsWithDeviceCount
- func FromProtocolModelsToDTOs(protocolModels map[string]models.ProtocolProperties) map[string]ProtocolProperties
- func ToAddressModel(a Address) models.Address
- func ToAddressModels(dtos []Address) []models.Address
- func ToAlarmHistoryFromDTO(dto AlarmHistoryDTO) models.DeviceAlarmHistory
- func ToApplicationModel(dto Application) models.Application
- func ToAutoEventModel(a AutoEvent) models.AutoEvent
- func ToAutoEventModels(autoEventDTOs []AutoEvent) []models.AutoEvent
- func ToBulkOperationModel(dto BulkOperation, requestId string) models.BulkOperation
- func ToDeviceAlarmFromDTO(dto DeviceAlarmDTO) models.DeviceAlarm
- func ToDeviceCommandModel(dto DeviceCommand) models.DeviceCommand
- func ToDeviceCommandModels(deviceCommandDTOs []DeviceCommand) []models.DeviceCommand
- func ToDeviceHistoryModel(dto DeviceHistory) models.DeviceHistory
- 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 ToLinkModel(dto Link) models.Link
- func ToManufacturerModel(dto Manufacturer) models.Manufacturer
- func ToNotificationModel(n Notification) models.Notification
- func ToNotificationModels(notifications []Notification) []models.Notification
- func ToOrganizationModel(dto Organization) models.Organization
- 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
- func WithStatus(status models.StatusKind) func(*DeviceStatusUpdate)
- 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 AlarmDTO
- type AlarmHistoryDTO
- type Application
- type ApplicationDevice
- type ApplicationWithLinks
- type AutoEvent
- type BaseReading
- func FromReadingModelToDTO(reading models.Reading) BaseReading
- func NewArrayReading(profileName string, deviceName string, resourceName string, valueType string, ...) 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 BulkOperation
- type CoreCommand
- type CoreCommandParameter
- type DBTimestamp
- type Device
- type DeviceAlarmDTO
- type DeviceCommand
- type DeviceCoreCommand
- type DeviceHistory
- type DeviceModel
- type DeviceProfile
- type DeviceProfileBasicInfo
- type DeviceResource
- type DeviceService
- type DeviceStatus
- type DeviceStatusUpdate
- type DiscoveredDevice
- 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 LabelsWithDeviceCount
- type Layer
- type Link
- type MQTTPubAddress
- type Manufacturer
- type Metric
- type MetricField
- type MetricTag
- type Notification
- type ObjectReading
- type Organization
- type PatchApplication
- type ProtocolProperties
- type ProvisionWatcher
- type RESTAddress
- type ResourceOperation
- type ResourceProperties
- type SimpleReading
- type Subscription
- type SystemEvent
- type Tags
- type Telemetry
- type Transmission
- type TransmissionRecord
- type UpdateDevice
- type UpdateDeviceCommand
- type UpdateDeviceHistory
- type UpdateDeviceModel
- type UpdateDeviceProfileBasicInfo
- type UpdateDeviceResource
- type UpdateDeviceService
- type UpdateDiscoveredDevice
- type UpdateInterval
- type UpdateIntervalAction
- type UpdateLink
- type UpdateManufacturer
- type UpdateOrganization
- type UpdateProvisionWatcher
- type UpdateSubscription
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DeviceModelToModel ¶
func DeviceModelToModel(dto DeviceModel) models.DeviceModel
func FromLabelWithDeviceCountDTOToModel ¶
func FromLabelWithDeviceCountDTOToModel(l LabelsWithDeviceCount) models.LabelsWithDeviceCount
func FromProtocolModelsToDTOs ¶
func FromProtocolModelsToDTOs(protocolModels map[string]models.ProtocolProperties) map[string]ProtocolProperties
FromProtocolModelsToDTOs transforms the Protocol model map to the Protocol DTO map
func ToAlarmHistoryFromDTO ¶
func ToAlarmHistoryFromDTO(dto AlarmHistoryDTO) models.DeviceAlarmHistory
func ToApplicationModel ¶
func ToApplicationModel(dto Application) models.Application
ToApplicationModel transforms the Application DTO to the Application Model
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 ToBulkOperationModel ¶
func ToBulkOperationModel(dto BulkOperation, requestId string) models.BulkOperation
func ToDeviceAlarmFromDTO ¶
func ToDeviceAlarmFromDTO(dto DeviceAlarmDTO) models.DeviceAlarm
ToDeviceStatusUpdateModelFromDTO converts a DeviceStatusUpdateDTO to models.DeviceStatusUpdate.
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 ToDeviceHistoryModel ¶
func ToDeviceHistoryModel(dto DeviceHistory) models.DeviceHistory
ToDeviceModel transforms the Device DTO to the Device Model
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 ToLinkModel ¶
// ToLinkModel transforms the Link DTO to the Link Model
func ToManufacturerModel ¶
func ToManufacturerModel(dto Manufacturer) models.Manufacturer
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 ToOrganizationModel ¶
func ToOrganizationModel(dto Organization) models.Organization
ToOrganizationModel transforms the Organization DTO to the Organization Model
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 ValidateValue ¶
ValidateValue used to check whether the value and valueType are matched
func WithStatus ¶
func WithStatus(status models.StatusKind) func(*DeviceStatusUpdate)
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 NewMQTTAddress ¶
type AlarmDTO ¶
type AlarmDTO struct { Message string `json:"message"` Severity models.AlarmSeverity `json:"severity"` Resolved bool `json:"resolved"` Description string `json:"description"` Job string `json:"job"` Annotations map[string]string `json:"annotations"` }
AlarmDTO represents the DTO for Alarm.
type AlarmHistoryDTO ¶
type AlarmHistoryDTO struct { DeviceAlarmDTO `json:",inline"` StartAt int64 `json:"start_at"` EndAt *int64 `json:"end_at"` }
func FromAlarmHistoryToDTO ¶
func FromAlarmHistoryToDTO(deviceAlarmHistory models.DeviceAlarmHistory) AlarmHistoryDTO
type Application ¶
type Application struct { DBTimestamp `json:",inline"` Id string `json:"id,omitempty" validate:"omitempty"` Name string `json:"name" validate:"required,edgex-dto-none-empty-string,edgex-dto-alphanumeric-with-symbols"` OrganizationId string `json:"organization_id" validate:"required,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` Devices []Device `json:"devices"` DevicesCount int `json:"devices_count,omitempty"` Layer []Layer `json:"layer,omitempty"` Latitude float64 `json:"latitude"` Longitude float64 `json:"longitude"` }
func FromApplicationModelToDTO ¶
func FromApplicationModelToDTO(d models.Application) Application
FromDeviceModelToDTO transforms the Device Model to the Device DTO
type ApplicationDevice ¶
type ApplicationDevice struct { DBTimestamp `json:",inline"` Id string `json:"id"` ApplicationId string `json:"applicationId"` DeviceId string `json:"deviceId"` Device *Device `json:"device,omitempty"` }
func FromApplicationDeviceModelToDTOs ¶
func FromApplicationDeviceModelToDTOs(m models.ApplicationDevice) (dto ApplicationDevice)
type ApplicationWithLinks ¶
type ApplicationWithLinks struct { Application Layer []interface{} `json:"layer"` Links []Link `json:"links"` Devices []Device `json:"devices"` DevicesCount int `json:"devices_count,omitempty"` }
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
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 NewArrayReading ¶
func NewArrayReading(profileName string, deviceName string, resourceName string, valueType string, objectValue interface{}) BaseReading
NewObjectReading creates and returns a new initialized BaseReading with its ObjectReading initialized
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 BulkOperation ¶
type BulkOperation struct { DeviceProfiles []DeviceProfile `json:"deviceProfiles"` Devices []Device `json:"devices"` Application []Application `json:"applications"` Relations []Link `json:"relations"` }
func FromBulkOperationModelToDTO ¶
func FromBulkOperationModelToDTO(bulk models.BulkOperation) BulkOperation
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 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"` 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" yaml:"profileName" validate:"required,edgex-dto-none-empty-string"` AutoEvents []AutoEvent `json:"autoEvents,omitempty" yaml:"autoEvents,omitempty" validate:"dive"` Protocols map[string]ProtocolProperties `json:"protocols" yaml:"protocols" validate:"required,gt=0"` Tags map[string]any `json:"tags,omitempty" yaml:"tags,omitempty"` Properties map[string]any `json:"properties,omitempty" yaml:"properties,omitempty"` Manufacturer string `json:"manufacturer,omitempty"` Model string `json:"model,omitempty"` Serial string `json:"serial,omitempty"` }
type DeviceAlarmDTO ¶
type DeviceAlarmDTO struct { Id string `json:"id"` DeviceName string `json:"device_name"` Origin int64 `json:"origin"` Alarm AlarmDTO `json:"alarm"` Status *models.StatusKind `json:"status,omitempty"` }
DeviceAlarmDTO represents the DTO for DeviceAlarm.
func FromDeviceAlarmToDTO ¶
func FromDeviceAlarmToDTO(deviceStatus models.DeviceAlarm) DeviceAlarmDTO
FromDeviceStatusUpdateModelToDTO converts a models.DeviceStatusUpdate to DeviceStatusUpdateDTO.
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:"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 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 DeviceHistory ¶
type DeviceHistory struct { DBTimestamp `json:",inline"` Version int64 `json:"version,omitempty" validate:"omitempty"` Device HistoryUser string `json:"historyUser,omitempty"` HistoryNotes string `json:"historyNotes,omitempty"` HistoryType string `json:"historyType" validate:"required"` HistoryDate int64 `json:"historyDate" validate:"required"` Model string `json:"model,omitempty"` Manufacturer string `json:"manufacturer,omitempty"` }
func FromDeviceHistoryModelToDTO ¶
func FromDeviceHistoryModelToDTO(d models.DeviceHistory) DeviceHistory
FromDeviceModelToDTO transforms the Device Model to the Device DTO
type DeviceModel ¶
type DeviceModel struct { Name string `json:"name" validate:"required,edgex-dto-none-empty-string,edgex-dto-alphanumeric-with-symbols"` ManufacturerName string `json:"manufacturerName" validate:"required,edgex-dto-none-empty-string,edgex-dto-alphanumeric-with-symbols"` DeviceProfileName string `json:"deviceProfileName" validate:"required,edgex-dto-none-empty-string,edgex-dto-alphanumeric-with-symbols"` Description string `json:"description" ` }
func DeviceModelFromModelToDTO ¶
func DeviceModelFromModelToDTO(dm models.DeviceModel) DeviceModel
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"` }
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"` 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"` }
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 DeviceStatus ¶
type DeviceStatus struct { DeviceName string `json:"deviceName"` // The name or identifier of the device. Status models.StatusKind `json:"status"` // The current status of the device. Origin int64 `json:"origin"` // The origin or source of the status update. LastUpdate int64 `json:"lastUpdate"` // The timestamp of the last status update. AlarmCount int64 `json:"alarmCount"` // The number of alarms associated with the device. MaxSeverity models.AlarmSeverity `json:"maxSeverity"` // The maximum severity level of the alarms for the device. Silence models.SilenceKind `json:"silence"` // The silent status of the device. }
DeviceStatus represents a Data Transfer Object for DeviceStatus.
func FromDeviceStatusModelToDTO ¶
func FromDeviceStatusModelToDTO(d models.DeviceStatus) DeviceStatus
type DeviceStatusUpdate ¶
type DeviceStatusUpdate struct { DeviceName string `json:"deviceName"` // The name or identifier of the device. Status *models.StatusKind `json:"status,omitempty"` // The current status of the device. Origin *int64 `json:"origin"` // The origin or source of the status update. LastUpdate *int64 `json:"lastUpdate"` // The timestamp of the last status update. AlarmCount *int64 `json:"alarmCount"` // The number of alarms associated with the device. MaxSeverity *models.AlarmSeverity `json:"maxSeverity,omitempty"` // The maximum severity level of the alarms for the device. Silence *models.SilenceKind `json:"silence,omitempty"` // The silent status of the device. }
func NewDeviceStatusUpdate ¶
func NewDeviceStatusUpdate(deviceName string, options ...func(*DeviceStatusUpdate)) DeviceStatusUpdate
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 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 NewEvent ¶
NewEvent creates and returns an initialized Event with no Readings
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"` 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
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 LabelsWithDeviceCount ¶
type LabelsWithDeviceCount struct { Label string `json:"label"` DeviceCount int `json:"deviceCount"` }
func FromLabelWithDeviceCountModelToDTO ¶
func FromLabelWithDeviceCountModelToDTO(m models.LabelsWithDeviceCount) LabelsWithDeviceCount
type Layer ¶
type Link ¶
type Link struct { DBTimestamp `json:",inline"` Id string `json:"id,omitempty" validate:"omitempty,uuid"` DeviceId string `json:"device_id" validate:"required,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` TargetId string `json:"target_id" validate:"omitempty"` Properties map[string]interface{} `json:"properties"` Device *Device `json:"device,omitempty"` Target *Device `json:"target,omitempty"` }
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 Manufacturer ¶
type Manufacturer struct { Name string `json:"name" validate:"required,edgex-dto-none-empty-string,edgex-dto-alphanumeric-with-symbols"` Description string `json:"description"` TechnicalReference string `json:"technicalReference"` AdministrativeReference string `json:"administrativeReference"` Address string `json:"address"` Contacts string `json:"contacts"` }
func FromManufacturerModelToDTO ¶
func FromManufacturerModelToDTO(m models.Manufacturer) Manufacturer
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 interface{} `json:"objectValue,omitempty" validate:"required"`
}
type Organization ¶
type Organization 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"` }
func FromOrganizationModelToDTO ¶
func FromOrganizationModelToDTO(d models.Organization) Organization
FromDeviceModelToDTO transforms the Device Model to the Device DTO
type PatchApplication ¶
type PatchApplication struct { Id *string `json:"id,omitempty" validate:"omitempty"` Name *string `json:"name" validate:"omitempty,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` OrganizationId *string `json:"organization_id" validate:"omitempty,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` Devices *[]Device `json:"devices" validate:"omitempty"` Layer *[]Layer `json:"layer,omitempty"` Latitude *float64 `json:"latitude" validate:"omitempty,gte=-90,lte=90"` Longitude *float64 `json:"longitude" validate:"omitempty,gte=-180,lte=180"` }
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 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"` }
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 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 Telemetry ¶
type Telemetry struct { MessageId string `json:"messageId,omitempty"` Code string `json:"code,omitempty"` // Timestamp is the time and date the metric was collected. Timestamp int64 `json:"timestamp" validate:"required"` HeartRate int `json:"heartRate,omitempty"` common.Versionable `json:",inline"` // Name is the identifier of the collected Metric Name string `json:"name" validate:"edgex-dto-none-empty-string"` Source string `json:"source,omitempty"` // 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"` }
Metric defines the metric data for a specific named metric
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"` 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,edgex-dto-none-empty-string"` Labels []string `json:"labels"` Location interface{} `json:"location"` AutoEvents []AutoEvent `json:"autoEvents" validate:"dive"` Protocols map[string]ProtocolProperties `json:"protocols" validate:"omitempty,gt=0"` Tags map[string]any `json:"tags"` Properties map[string]any `json:"properties"` Manufacturer *string `json:"manufacturer"` Model *string `json:"model"` Serial *string `json:"serial"` }
func FromDeviceModelToUpdateDTO ¶
func FromDeviceModelToUpdateDTO(d models.Device) UpdateDevice
FromDeviceModelToUpdateDTO transforms the Device Model to the UpdateDevice DTO
type UpdateDeviceCommand ¶
type UpdateDeviceHistory ¶
type UpdateDeviceHistory struct { Version *int64 `json:"version"` Id *string `json:"id" validate:"required,edgex-dto-uuid"` Name *string `json:"name" validate:"required_without=deviceId,edgex-dto-none-empty-string"` 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'"` Created *int64 `json:"created"` // Deprecated: will be replaced by Metrics in v3 Modified *int64 `json:"modified"` // Deprecated: will be replaced by Metrics in v3 ServiceName *string `json:"serviceName" validate:"omitempty,edgex-dto-none-empty-string"` ProfileName *string `json:"profileName" validate:"omitempty,edgex-dto-none-empty-string"` Labels []string `json:"labels"` Location interface{} `json:"location"` AutoEvents []AutoEvent `json:"autoEvents" validate:"dive"` Tags map[string]any `json:"tags,omitempty" yaml:"tags,omitempty"` Protocols map[string]ProtocolProperties `json:"protocols" validate:"omitempty,gt=0"` HistoryUser *string `json:"historyUser"` HistoryNotes *string `json:"historyNotes"` HistoryType *string `json:"historyType" validate:"required"` HistoryDate *int64 `json:"historyDate" validate:"required"` Model *string `json:"model,omitempty"` Manufacturer *string `json:"manufacturer,omitempty"` }
func FromDeviceHistoryModelToUpdateDTO ¶
func FromDeviceHistoryModelToUpdateDTO(d models.DeviceHistory) UpdateDeviceHistory
FromDeviceModelToUpdateDTO transforms the Device Model to the UpdateDevice DTO
type UpdateDeviceModel ¶
type UpdateDeviceModel struct { Name *string `json:"name" validate:"required,edgex-dto-none-empty-string,edgex-dto-alphanumeric-with-symbols"` ManufacturerName *string `json:"manufacturerName" validate:"required,edgex-dto-none-empty-string,edgex-dto-alphanumeric-with-symbols"` DeviceProfileName *string `json:"deviceProfileName" validate:"required,edgex-dto-none-empty-string,edgex-dto-alphanumeric-with-symbols"` Description *string `json:"description" ` }
func DeviceModelFromModelToUpdateDTO ¶
func DeviceModelFromModelToUpdateDTO(dm models.DeviceModel) UpdateDeviceModel
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 UpdateLink ¶
type UpdateLink struct { Id string `json:"id,omitempty" validate:"omitempty,uuid"` DeviceId string `json:"device_id" validate:"required,edgex-dto-none-empty-string,edgex-dto-rfc3986-unreserved-chars"` TargetId string `json:"target_id" validate:"omitempty"` Properties map[string]interface{} `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
type UpdateManufacturer ¶
type UpdateManufacturer struct { Name *string `json:"name" validate:"required,edgex-dto-none-empty-string,edgex-dto-alphanumeric-with-symbols"` Description *string `json:"description"` TechnicalReference *string `json:"technicalReference"` AdministrativeReference *string `json:"administrativeReference"` Address *string `json:"address"` Contacts *string `json:"contacts"` }
func FromManufacturerModelToUpdateDTO ¶
func FromManufacturerModelToUpdateDTO(m models.Manufacturer) UpdateManufacturer
type UpdateOrganization ¶
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 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
- alarm.go
- application.go
- autoevent.go
- bulkoperation.go
- corecommand.go
- dbtimestamp.go
- device.go
- device_history.go
- device_model.go
- devicecommand.go
- deviceprofile.go
- deviceprofilebasicinfo.go
- deviceresource.go
- deviceservice.go
- devicestatus.go
- devicestatusupdate.go
- discovereddevice.go
- event.go
- interval.go
- intervalaction.go
- labels.go
- link.go
- manufacturer.go
- metric.go
- notification.go
- organization.go
- protocolproperties.go
- provisionwatcher.go
- reading.go
- resourceoperation.go
- resourceproperties.go
- subscription.go
- systemevent.go
- tags.go
- telemetry.go
- transmission.go
- transmissionrecord.go