#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpcAuthenticationConfig {
#[prost(
oneof = "opc_authentication_config::OpcAuthenticationConfig",
tags = "1, 2, 3"
)]
pub opc_authentication_config: ::core::option::Option<
opc_authentication_config::OpcAuthenticationConfig,
>,
}
pub mod opc_authentication_config {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum OpcAuthenticationConfig {
#[prost(message, tag = "1")]
Anonymous(super::super::super::super::google::protobuf::Empty),
#[prost(message, tag = "2")]
UsernamePassword(super::OpcUsernamePasswordAuthentication),
#[prost(message, tag = "3")]
Token(super::OpcTokenAuthentication),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpcAuthenticationConfigSecret {
#[prost(
oneof = "opc_authentication_config_secret::OpcAuthenticationConfig",
tags = "1, 2, 3"
)]
pub opc_authentication_config: ::core::option::Option<
opc_authentication_config_secret::OpcAuthenticationConfig,
>,
}
pub mod opc_authentication_config_secret {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum OpcAuthenticationConfig {
#[prost(message, tag = "1")]
Anonymous(super::super::super::super::google::protobuf::Empty),
#[prost(message, tag = "2")]
UsernamePassword(super::OpcUsernamePasswordAuthenticationSecret),
#[prost(message, tag = "3")]
Token(super::OpcTokenAuthenticationSecret),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpcUsernamePasswordAuthentication {
#[prost(string, tag = "1")]
pub username: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub password: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpcUsernamePasswordAuthenticationSecret {
#[prost(string, tag = "1")]
pub username: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub password: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpcTokenAuthentication {
#[prost(string, tag = "1")]
pub token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpcTokenAuthenticationSecret {
#[prost(string, tag = "1")]
pub token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpcIdentifierValue {
#[prost(oneof = "opc_identifier_value::OpcIdentifierValue", tags = "1, 2")]
pub opc_identifier_value: ::core::option::Option<
opc_identifier_value::OpcIdentifierValue,
>,
}
pub mod opc_identifier_value {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum OpcIdentifierValue {
#[prost(int32, tag = "1")]
Numeric(i32),
#[prost(string, tag = "2")]
String(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpcNode {
#[prost(uint32, optional, tag = "1")]
pub namespace: ::core::option::Option<u32>,
#[prost(message, optional, tag = "2")]
pub identifier: ::core::option::Option<OpcIdentifierValue>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpcUaChannelNamingConvention {
#[prost(
oneof = "opc_ua_channel_naming_convention::NamingConvention",
tags = "1, 2, 3, 4"
)]
pub naming_convention: ::core::option::Option<
opc_ua_channel_naming_convention::NamingConvention,
>,
}
pub mod opc_ua_channel_naming_convention {
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OpcUaNodeId {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OpcUaBrowseName {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OpcUaDisplayName {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpcUaFullPath {
#[prost(message, repeated, tag = "1")]
pub root_nodes: ::prost::alloc::vec::Vec<super::OpcNode>,
#[prost(string, tag = "2")]
pub delimiter: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum NamingConvention {
#[prost(message, tag = "1")]
NodeId(OpcUaNodeId),
#[prost(message, tag = "2")]
BrowseName(OpcUaBrowseName),
#[prost(message, tag = "3")]
DisplayName(OpcUaDisplayName),
#[prost(message, tag = "4")]
FullPath(OpcUaFullPath),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpcUaConnectionDetails {
#[prost(string, tag = "1")]
pub uri: ::prost::alloc::string::String,
#[prost(enumeration = "OpcSecurityPolicy", tag = "2")]
pub security_policy: i32,
#[prost(message, optional, tag = "3")]
pub authentication_config: ::core::option::Option<OpcAuthenticationConfig>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpcUaConnectionDetailsSecret {
#[prost(string, tag = "1")]
pub uri: ::prost::alloc::string::String,
#[prost(enumeration = "OpcSecurityPolicy", tag = "2")]
pub security_policy: i32,
#[prost(message, optional, tag = "3")]
pub authentication_config: ::core::option::Option<OpcAuthenticationConfigSecret>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpcUaTraversalConfig {
#[prost(message, repeated, tag = "1")]
pub root_nodes: ::prost::alloc::vec::Vec<OpcNode>,
#[prost(message, repeated, tag = "2")]
pub skip_nodes: ::prost::alloc::vec::Vec<OpcNode>,
#[prost(enumeration = "OpcUaReferenceExplorationType", tag = "3")]
pub reference_exploration_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpcUaDirectNodeSubscription {
#[prost(message, repeated, tag = "1")]
pub nodes: ::prost::alloc::vec::Vec<OpcNode>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpcUaNodeExplorationConfig {
#[prost(
oneof = "opc_ua_node_exploration_config::OpcUaNodeExplorationConfig",
tags = "1, 2"
)]
pub opc_ua_node_exploration_config: ::core::option::Option<
opc_ua_node_exploration_config::OpcUaNodeExplorationConfig,
>,
}
pub mod opc_ua_node_exploration_config {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum OpcUaNodeExplorationConfig {
#[prost(message, tag = "1")]
OpcUaTraversalConfig(super::OpcUaTraversalConfig),
#[prost(message, tag = "2")]
OpcUaDirectNodeSubscription(super::OpcUaDirectNodeSubscription),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OpcUaTimestampHandling {
#[prost(oneof = "opc_ua_timestamp_handling::TimestampType", tags = "1, 2, 3")]
pub timestamp_type: ::core::option::Option<opc_ua_timestamp_handling::TimestampType>,
}
pub mod opc_ua_timestamp_handling {
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OpcUaServerTime {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OpcUaSourceTime {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OpcUaRelativeTimestamp {
#[prost(message, optional, tag = "1")]
pub offset: ::core::option::Option<
super::super::super::super::google::protobuf::Timestamp,
>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum TimestampType {
#[prost(message, tag = "1")]
Server(OpcUaServerTime),
#[prost(message, tag = "2")]
Source(OpcUaSourceTime),
#[prost(message, tag = "3")]
Relative(OpcUaRelativeTimestamp),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OpcUaDataChangeFilter {
#[prost(enumeration = "OpcUaDataChangeTrigger", tag = "1")]
pub trigger: i32,
#[prost(enumeration = "OpcUaDeadbandType", tag = "2")]
pub deadband_type: i32,
#[prost(double, tag = "3")]
pub deadband_value: f64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpcUaScrapingConfig {
#[prost(message, optional, tag = "1")]
pub node_exploration_config: ::core::option::Option<OpcUaNodeExplorationConfig>,
#[prost(string, tag = "2")]
pub unit_node_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub channel_naming_convention: ::core::option::Option<OpcUaChannelNamingConvention>,
#[prost(bool, tag = "4")]
pub override_host: bool,
#[prost(enumeration = "OpcUaUnknownDataTypeHandling", tag = "5")]
pub unknown_data_type_handling: i32,
#[prost(enumeration = "OpcUaFailedMonitorHandling", tag = "6")]
pub failed_monitor_handling: i32,
#[prost(message, optional, tag = "7")]
pub timestamp_handling: ::core::option::Option<OpcUaTimestampHandling>,
#[prost(message, optional, tag = "8")]
pub data_change_filter: ::core::option::Option<OpcUaDataChangeFilter>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum OpcSecurityPolicy {
Unspecified = 0,
None = 1,
}
impl OpcSecurityPolicy {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "OPC_SECURITY_POLICY_UNSPECIFIED",
Self::None => "NONE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"OPC_SECURITY_POLICY_UNSPECIFIED" => Some(Self::Unspecified),
"NONE" => Some(Self::None),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum OpcUaReferenceExplorationType {
Unspecified = 0,
Organizes = 1,
HierarchicalReferences = 2,
}
impl OpcUaReferenceExplorationType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "OPC_UA_REFERENCE_EXPLORATION_TYPE_UNSPECIFIED",
Self::Organizes => "OPC_UA_REFERENCE_EXPLORATION_TYPE_ORGANIZES",
Self::HierarchicalReferences => {
"OPC_UA_REFERENCE_EXPLORATION_TYPE_HIERARCHICAL_REFERENCES"
}
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"OPC_UA_REFERENCE_EXPLORATION_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"OPC_UA_REFERENCE_EXPLORATION_TYPE_ORGANIZES" => Some(Self::Organizes),
"OPC_UA_REFERENCE_EXPLORATION_TYPE_HIERARCHICAL_REFERENCES" => {
Some(Self::HierarchicalReferences)
}
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum OpcUaUnknownDataTypeHandling {
Unspecified = 0,
Error = 1,
TreatAsDouble = 2,
TreatAsString = 3,
}
impl OpcUaUnknownDataTypeHandling {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "OPC_UA_UNKNOWN_DATA_TYPE_HANDLING_UNSPECIFIED",
Self::Error => "OPC_UA_UNKNOWN_DATA_TYPE_HANDLING_ERROR",
Self::TreatAsDouble => "OPC_UA_UNKNOWN_DATA_TYPE_HANDLING_TREAT_AS_DOUBLE",
Self::TreatAsString => "OPC_UA_UNKNOWN_DATA_TYPE_HANDLING_TREAT_AS_STRING",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"OPC_UA_UNKNOWN_DATA_TYPE_HANDLING_UNSPECIFIED" => Some(Self::Unspecified),
"OPC_UA_UNKNOWN_DATA_TYPE_HANDLING_ERROR" => Some(Self::Error),
"OPC_UA_UNKNOWN_DATA_TYPE_HANDLING_TREAT_AS_DOUBLE" => {
Some(Self::TreatAsDouble)
}
"OPC_UA_UNKNOWN_DATA_TYPE_HANDLING_TREAT_AS_STRING" => {
Some(Self::TreatAsString)
}
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum OpcUaFailedMonitorHandling {
Unspecified = 0,
Error = 1,
Ignore = 2,
}
impl OpcUaFailedMonitorHandling {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "OPC_UA_FAILED_MONITOR_HANDLING_UNSPECIFIED",
Self::Error => "OPC_UA_FAILED_MONITOR_HANDLING_ERROR",
Self::Ignore => "OPC_UA_FAILED_MONITOR_HANDLING_IGNORE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"OPC_UA_FAILED_MONITOR_HANDLING_UNSPECIFIED" => Some(Self::Unspecified),
"OPC_UA_FAILED_MONITOR_HANDLING_ERROR" => Some(Self::Error),
"OPC_UA_FAILED_MONITOR_HANDLING_IGNORE" => Some(Self::Ignore),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum OpcUaDataChangeTrigger {
Unspecified = 0,
StatusOnly = 1,
StatusValue = 2,
StatusValueTimestamp = 3,
}
impl OpcUaDataChangeTrigger {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "OPC_UA_DATA_CHANGE_TRIGGER_UNSPECIFIED",
Self::StatusOnly => "OPC_UA_DATA_CHANGE_TRIGGER_STATUS_ONLY",
Self::StatusValue => "OPC_UA_DATA_CHANGE_TRIGGER_STATUS_VALUE",
Self::StatusValueTimestamp => {
"OPC_UA_DATA_CHANGE_TRIGGER_STATUS_VALUE_TIMESTAMP"
}
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"OPC_UA_DATA_CHANGE_TRIGGER_UNSPECIFIED" => Some(Self::Unspecified),
"OPC_UA_DATA_CHANGE_TRIGGER_STATUS_ONLY" => Some(Self::StatusOnly),
"OPC_UA_DATA_CHANGE_TRIGGER_STATUS_VALUE" => Some(Self::StatusValue),
"OPC_UA_DATA_CHANGE_TRIGGER_STATUS_VALUE_TIMESTAMP" => {
Some(Self::StatusValueTimestamp)
}
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum OpcUaDeadbandType {
Unspecified = 0,
None = 1,
Absolute = 2,
Percent = 3,
}
impl OpcUaDeadbandType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "OPC_UA_DEADBAND_TYPE_UNSPECIFIED",
Self::None => "OPC_UA_DEADBAND_TYPE_NONE",
Self::Absolute => "OPC_UA_DEADBAND_TYPE_ABSOLUTE",
Self::Percent => "OPC_UA_DEADBAND_TYPE_PERCENT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"OPC_UA_DEADBAND_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"OPC_UA_DEADBAND_TYPE_NONE" => Some(Self::None),
"OPC_UA_DEADBAND_TYPE_ABSOLUTE" => Some(Self::Absolute),
"OPC_UA_DEADBAND_TYPE_PERCENT" => Some(Self::Percent),
_ => None,
}
}
}