opcua

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 1, 2026 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrInvalidEndpoint indicates an invalid or malformed endpoint URL
	ErrInvalidEndpoint = errors.New("invalid endpoint")

	// ErrInvalidSecurityPolicy indicates an unsupported security policy
	ErrInvalidSecurityPolicy = errors.New("invalid security policy")

	// ErrInvalidSecurityMode indicates an unsupported security mode
	ErrInvalidSecurityMode = errors.New("invalid security mode")

	// ErrInvalidAuthMethod indicates an unsupported authentication method
	ErrInvalidAuthMethod = errors.New("invalid authentication method")

	// ErrCertificateGeneration indicates a failure in certificate generation
	ErrCertificateGeneration = errors.New("certificate generation failed")

	// ErrConnectionFailed indicates a connection failure
	ErrConnectionFailed = errors.New("connection failed")

	// ErrEndpointNotFound indicates no suitable endpoint was found
	ErrEndpointNotFound = errors.New("no suitable endpoint found")

	// ErrInvalidConfiguration indicates invalid configuration parameters
	ErrInvalidConfiguration = errors.New("invalid configuration")

	// ErrStatusCodeParsing indicates failure to parse status codes
	ErrStatusCodeParsing = errors.New("status code parsing failed")
)

Common OPC UA error types for better error handling and classification

Functions

This section is empty.

Types

type AuthenticationError

type AuthenticationError struct {
	Method string
	Err    error
}

AuthenticationError represents an error related to authentication

func (*AuthenticationError) Error

func (e *AuthenticationError) Error() string

func (*AuthenticationError) Unwrap

func (e *AuthenticationError) Unwrap() error

type CertificateError

type CertificateError struct {
	Operation string
	Path      string
	Err       error
}

CertificateError represents an error related to certificate operations

func (*CertificateError) Error

func (e *CertificateError) Error() string

func (*CertificateError) Unwrap

func (e *CertificateError) Unwrap() error

type DebugLogger

type DebugLogger struct {
	Log telegraf.Logger
}

DebugLogger logs messages from opcua at the debug level.

func (*DebugLogger) Write

func (l *DebugLogger) Write(p []byte) (n int, err error)

type EndpointError

type EndpointError struct {
	Endpoint string
	Err      error
}

EndpointError represents an error related to endpoint configuration

func (*EndpointError) Error

func (e *EndpointError) Error() string

func (*EndpointError) Unwrap

func (e *EndpointError) Unwrap() error

type OpcUAClient

type OpcUAClient struct {
	Config *OpcUAClientConfig
	Log    telegraf.Logger

	Client *opcua.Client
	// contains filtered or unexported fields
}

func (*OpcUAClient) Connect

func (o *OpcUAClient) Connect(ctx context.Context) error

Connect to an OPC UA device

func (*OpcUAClient) Disconnect

func (o *OpcUAClient) Disconnect(ctx context.Context) error

func (*OpcUAClient) NamespaceArray

func (o *OpcUAClient) NamespaceArray() []string

NamespaceArray returns the cached namespace array

func (*OpcUAClient) SetupOptions

func (o *OpcUAClient) SetupOptions() error

SetupOptions reads the endpoints from the specified server and sets up all authentication

func (*OpcUAClient) State

func (o *OpcUAClient) State() ConnectionState

func (*OpcUAClient) StatusCodeOK

func (o *OpcUAClient) StatusCodeOK(code ua.StatusCode) bool

func (*OpcUAClient) UpdateNamespaceArray

func (o *OpcUAClient) UpdateNamespaceArray(ctx context.Context) error

UpdateNamespaceArray fetches the namespace array from the OPC UA server The namespace array is stored at the well-known node ns=0;i=2255

type OpcUAClientConfig

type OpcUAClientConfig struct {
	Endpoint          string          `toml:"endpoint"`
	SecurityPolicy    string          `toml:"security_policy"`
	SecurityMode      string          `toml:"security_mode"`
	Certificate       string          `toml:"certificate"`
	PrivateKey        string          `toml:"private_key"`
	RemoteCertificate string          `toml:"remote_certificate"`
	Username          config.Secret   `toml:"username"`
	Password          config.Secret   `toml:"password"`
	AuthMethod        string          `toml:"auth_method"`
	ConnectTimeout    config.Duration `toml:"connect_timeout"`
	RequestTimeout    config.Duration `toml:"request_timeout"`
	ClientTrace       bool            `toml:"client_trace"`

	OptionalFields []string         `toml:"optional_fields"`
	Workarounds    OpcUAWorkarounds `toml:"workarounds"`
	SessionTimeout config.Duration  `toml:"session_timeout"`
}

func (*OpcUAClientConfig) CreateClient

func (o *OpcUAClientConfig) CreateClient(telegrafLogger telegraf.Logger) (*OpcUAClient, error)

func (*OpcUAClientConfig) Validate

func (o *OpcUAClientConfig) Validate() error

type OpcUAWorkarounds

type OpcUAWorkarounds struct {
	AdditionalValidStatusCodes []string `toml:"additional_valid_status_codes"`
}

type SecurityError

type SecurityError struct {
	Policy string
	Mode   string
	Err    error
}

SecurityError represents an error related to security configuration

func (*SecurityError) Error

func (e *SecurityError) Error() string

func (*SecurityError) Unwrap

func (e *SecurityError) Unwrap() error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL