using System.Collections.Generic; namespace ZB.MOM.WW.OtOpcUa.Driver.Historian.Wonderware.Backend { /// /// Wonderware Historian SDK configuration. Populated from environment variables at /// sidecar startup (see Program.cs): the supervisor (lmxopcua-side /// WonderwareHistorianClient) spawns the sidecar with these env vars; UA /// translation lives on the client side of the TCP IPC, so this surface is /// kept OPC-UA-free. The legacy v1 Galaxy.Host / Proxy host this lived in retired /// in PR 7.2. /// public sealed class HistorianConfiguration { /// Gets or sets a value indicating whether Historian integration is enabled. public bool Enabled { get; set; } = false; /// Single-node fallback when is empty. public string ServerName { get; set; } = "localhost"; /// /// Ordered cluster nodes. When non-empty, the data source tries each in order on connect, /// falling through to the next on failure. A failed node is placed in cooldown for /// before being re-eligible. /// public List ServerNames { get; set; } = new(); /// Gets or sets the failure cooldown period in seconds. public int FailureCooldownSeconds { get; set; } = 60; /// Gets or sets a value indicating whether to use integrated security. public bool IntegratedSecurity { get; set; } = true; /// Gets or sets the user name for authentication. public string? UserName { get; set; } /// Gets or sets the password for authentication. public string? Password { get; set; } /// Gets or sets the Historian server port. public int Port { get; set; } = 32568; /// Gets or sets the command timeout in seconds. public int CommandTimeoutSeconds { get; set; } = 30; /// Gets or sets the maximum number of values per read operation. public int MaxValuesPerRead { get; set; } = 10000; /// /// Outer safety timeout applied to sync-over-async Historian operations. Must be /// comfortably larger than . /// public int RequestTimeoutSeconds { get; set; } = 60; } }