using System.Collections.Generic;
namespace ZB.MOM.WW.OtOpcUa.Host.Configuration
{
///
/// Non-transparent redundancy settings that control how the server advertises itself
/// within a redundant pair and computes its dynamic ServiceLevel.
///
public class RedundancyConfiguration
{
///
/// Gets or sets whether redundancy is enabled. When (default),
/// the server reports RedundancySupport.None and ServiceLevel = 255.
///
public bool Enabled { get; set; } = false;
///
/// Gets or sets the redundancy mode. Valid values: Warm, Hot.
///
public string Mode { get; set; } = "Warm";
///
/// Gets or sets the role of this instance. Valid values: Primary, Secondary.
/// The primary advertises a higher ServiceLevel than the secondary when both are healthy.
///
public string Role { get; set; } = "Primary";
///
/// Gets or sets the ApplicationUri values for all servers in the redundant set.
/// Must include this instance's own OpcUa.ApplicationUri.
///
public List ServerUris { get; set; } = new();
///
/// Gets or sets the base ServiceLevel when the server is fully healthy.
/// The secondary automatically receives ServiceLevelBase - 50.
/// Valid range: 1-255.
///
public int ServiceLevelBase { get; set; } = 200;
}
}