Documentation
      ¶
    
    
  
    
  
    Index ¶
- type AtomicBool
 - type ConfigurationStruct
 - func (c *ConfigurationStruct) CopyWritableInfo() WritableInfo
 - func (c *ConfigurationStruct) EmptyWritablePtr() interface{}
 - func (c *ConfigurationStruct) GetBootstrap() bootstrapConfig.BootstrapConfiguration
 - func (c *ConfigurationStruct) GetInsecureSecrets() bootstrapConfig.InsecureSecrets
 - func (c *ConfigurationStruct) GetLogLevel() string
 - func (c *ConfigurationStruct) GetRegistryInfo() bootstrapConfig.RegistryInfo
 - func (c *ConfigurationStruct) GetTelemetryInfo() *bootstrapConfig.TelemetryInfo
 - func (c *ConfigurationStruct) GetWritableInfo() WritableInfo
 - func (c *ConfigurationStruct) GetWritablePtr() any
 - func (c *ConfigurationStruct) SetPipelineFunctionParameterNamesLowercase()
 - func (c *ConfigurationStruct) SetWritableInfo(fieldPath string, newValue any) error
 - func (c *ConfigurationStruct) UpdateFromRaw(rawConfig interface{}) bool
 - func (c *ConfigurationStruct) UpdateWritableFromRaw(rawWritable interface{}) bool
 
- type Credentials
 - type ExternalMqttConfig
 - type HttpConfig
 - type PipelineFunction
 - type PipelineInfo
 - type StoreAndForwardInfo
 - type TopicPipeline
 - type TriggerInfo
 - type WillConfig
 - type WritableInfo
 
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AtomicBool ¶
type AtomicBool struct {
	// contains filtered or unexported fields
}
    func (*AtomicBool) Set ¶
func (b *AtomicBool) Set(v bool)
func (*AtomicBool) Value ¶
func (b *AtomicBool) Value() bool
type ConfigurationStruct ¶
type ConfigurationStruct struct {
	// Writable contains the configuration that change be change on the fly
	Writable WritableInfo
	// Registry contains the configuration for connecting the Registry service
	Registry bootstrapConfig.RegistryInfo
	// Service contains the standard 'service' configuration for the Application service
	Service bootstrapConfig.ServiceInfo
	// HttpServer contains the configuration for the HTTP Server
	HttpServer HttpConfig
	// MessageBus contains the configuration for connecting to the EdgeX MessageBus
	MessageBus bootstrapConfig.MessageBusInfo
	// Trigger contains the configuration for the Function Pipeline Trigger
	Trigger TriggerInfo
	// ApplicationSettings contains the custom configuration for the Application service
	ApplicationSettings map[string]string
	// Clients contains the configuration for connecting to the dependent Edgex clients
	Clients bootstrapConfig.ClientsCollection
	// Database contains the configuration for connection to the Database
	Database bootstrapConfig.Database
	// contains filtered or unexported fields
}
    ConfigurationStruct swagger:model ConfigurationStruct
func (*ConfigurationStruct) CopyWritableInfo ¶
func (c *ConfigurationStruct) CopyWritableInfo() WritableInfo
CopyWritableInfo is thread-safe and returns a copy of the WritableInfo struct. This copy is then returned by the function.
func (*ConfigurationStruct) EmptyWritablePtr ¶
func (c *ConfigurationStruct) EmptyWritablePtr() interface{}
EmptyWritablePtr returns a pointer to an empty WritableInfo struct. It is used by the bootstrap to provide the appropriate structure for Config Client's WatchForChanges().
func (*ConfigurationStruct) GetBootstrap ¶
func (c *ConfigurationStruct) GetBootstrap() bootstrapConfig.BootstrapConfiguration
GetBootstrap returns the configuration elements required by the bootstrap.
func (*ConfigurationStruct) GetInsecureSecrets ¶
func (c *ConfigurationStruct) GetInsecureSecrets() bootstrapConfig.InsecureSecrets
GetInsecureSecrets returns the service's InsecureSecrets.
func (*ConfigurationStruct) GetLogLevel ¶
func (c *ConfigurationStruct) GetLogLevel() string
GetLogLevel returns log level from the configuration
func (*ConfigurationStruct) GetRegistryInfo ¶
func (c *ConfigurationStruct) GetRegistryInfo() bootstrapConfig.RegistryInfo
GetRegistryInfo returns the RegistryInfo section from the configuration
func (*ConfigurationStruct) GetTelemetryInfo ¶
func (c *ConfigurationStruct) GetTelemetryInfo() *bootstrapConfig.TelemetryInfo
GetTelemetryInfo returns the service's Telemetry settings.
func (*ConfigurationStruct) GetWritableInfo ¶
func (c *ConfigurationStruct) GetWritableInfo() WritableInfo
GetWritableInfo is thread-safe and returns a read-locked copy of the WritableInfo to prevent race conditions.
func (*ConfigurationStruct) GetWritablePtr ¶
func (c *ConfigurationStruct) GetWritablePtr() any
GetWritablePtr returns pointer to the writable section
func (*ConfigurationStruct) SetPipelineFunctionParameterNamesLowercase ¶
func (c *ConfigurationStruct) SetPipelineFunctionParameterNamesLowercase()
SetPipelineFunctionParameterNamesLowercase converts the keys in the WritableInfo's Pipeline's Functions to lowercase.
func (*ConfigurationStruct) SetWritableInfo ¶
func (c *ConfigurationStruct) SetWritableInfo(fieldPath string, newValue any) error
SetWritableInfo is a thread-safe function that sets a new value for a specific field in the WritableInfo struct.
func (*ConfigurationStruct) UpdateFromRaw ¶
func (c *ConfigurationStruct) UpdateFromRaw(rawConfig interface{}) bool
UpdateFromRaw converts configuration received from the registry to a service-specific configuration struct which is then used to overwrite the service's existing configuration struct.
func (*ConfigurationStruct) UpdateWritableFromRaw ¶
func (c *ConfigurationStruct) UpdateWritableFromRaw(rawWritable interface{}) bool
UpdateWritableFromRaw updates the Writeable section of configuration from raw update received from Configuration Provider.
type Credentials ¶
Credentials encapsulates username-password attributes.
type ExternalMqttConfig ¶
type ExternalMqttConfig struct {
	// Url contains the fully qualified URL to connect to the MQTT broker
	Url string
	// ClientId to connect to the broker with.
	ClientId string
	// ConnectTimeout is a time duration indicating how long to wait timing out on the broker connection
	ConnectTimeout string
	// AutoReconnect indicated whether or not to retry connection if disconnected
	AutoReconnect bool
	// KeepAlive is seconds between client ping when no active data flowing to avoid client being disconnected
	KeepAlive int64
	// QoS for MQTT Connection
	QoS byte
	// Retain setting for MQTT Connection
	Retain bool
	// SkipCertVerify indicates if the certificate verification should be skipped
	SkipCertVerify bool
	// SecretName is the name of the secret in secret provider to retrieve your secrets
	SecretName string
	// AuthMode indicates what to use when connecting to the broker. Options are "none", "cacert" , "usernamepassword", "clientcert".
	// If a CA Cert exists in the secret data for the SecretName then it will be used for all modes except "none".
	AuthMode string
	// RetryDuration indicates how long (in seconds) to wait timing out on the MQTT client creation
	RetryDuration int
	// RetryInterval indicates the time (in seconds) that will be waited between attempts to create MQTT client
	RetryInterval int
	// Will contains the Last Will configuration for the MQTT Client
	Will WillConfig
}
    ExternalMqttConfig contains the MQTT broker configuration for MQTT Trigger
type HttpConfig ¶
type HttpConfig struct {
	// Protocol is the for the HTTP Server to use HTTP or HTTPS
	// If HTTPS then the Secret store must contain the HTTPS cert and key
	Protocol string
	// SecretName is the name in the secret store for the HTTPS cert and key
	SecretName string
	// HTTPSCertName is name of the HTTPS cert in the secret store
	HTTPSCertName string
	// HTTPSKeyName is name of the HTTPS key in the secret store
	HTTPSKeyName string
}
    HttpConfig contains the addition configuration for HTTP Server
type PipelineFunction ¶
type PipelineFunction struct {
	// Parameters is the collection of configurable parameters specific to the built-in configurable function specified by the map key.
	Parameters map[string]string
}
    PipelineFunction is a collection of built-in pipeline functions configurations. The map key must be unique start with the name of one of the built-in configurable functions
type PipelineInfo ¶
type PipelineInfo struct {
	// ExecutionOrder is a list of functions, in execution order, for the default configurable pipeline
	ExecutionOrder string
	// PerTopicPipelines is a collection of pipelines that only execute if the incoming topic matched the pipelines configured topic
	PerTopicPipelines map[string]TopicPipeline
	// TargetType indicates if raw, []byte type, or metric, Dtos.Metric, is to be used for the TargetType
	TargetType string
	// Functions is a collection of pipeline functions with configured parameters to be used in the ExecutionOrder of one
	// of the configured pipelines (default or pre topic)
	Functions map[string]PipelineFunction
}
    PipelineInfo defines the top level data for configurable pipelines
type StoreAndForwardInfo ¶
type TopicPipeline ¶
type TopicPipeline struct {
	// Id is the unique ID of the pipeline instance
	Id string
	// Topics is the set of comma separated topics matched against the incoming to determine if pipeline should execute
	Topics string
	// ExecutionOrder is a list of functions, in execution order, for the pipeline instance
	ExecutionOrder string
}
    TopicPipeline define the data to a Per Topics functions pipeline
type TriggerInfo ¶
type TriggerInfo struct {
	// Type of trigger to start pipeline
	// enum: http, edgex-messagebus, or external-mqtt
	Type string
	// SubscribeTopics is a comma separated list of topics in which to subscribe
	// Used when type in edgex-messagebus, or external-mqtt
	SubscribeTopics string
	// PublishTopic is the topic to publish pipeline output (if any)
	// Used when type in edgex-messagebus, or external-mqtt
	PublishTopic string
	// Used when Type=external-mqtt
	ExternalMqtt ExternalMqttConfig
}
    TriggerInfo contains Metadata associated with each Trigger
type WillConfig ¶
type WillConfig struct {
	// Enabled enables Last Will capability on the client connection
	Enabled bool
	// Payload is the Last Will Message sent to other clients that are subscribed to the will topic
	Payload string
	// Qos is the Quality of Service for the will topic
	Qos byte
	// Retained is the "retain" setting for the will topic
	Retained bool
	// Topic is the topic for Last Will
	Topic string
}
    type WritableInfo ¶
type WritableInfo struct {
	// Set level of logging to report
	//
	// example: TRACE
	// required: true
	// enum: TRACE,DEBUG,INFO,WARN,ERROR
	LogLevel        string
	Pipeline        PipelineInfo
	StoreAndForward StoreAndForwardInfo
	InsecureSecrets bootstrapConfig.InsecureSecrets
	Telemetry       bootstrapConfig.TelemetryInfo
}
    WritableInfo is used to hold configuration information that is considered "live" or can be changed on the fly without a restart of the service.