using ZB.MOM.WW.OtOpcUa.Configuration.Enums; namespace ZB.MOM.WW.OtOpcUa.Configuration.Entities; /// /// Top-level deployment unit. 1 or 2 members. /// Per config-db-schema.md ServerCluster table. /// public sealed class ServerCluster { /// Stable logical ID, e.g. "LINE3-OPCUA". public required string ClusterId { get; set; } public required string Name { get; set; } /// UNS level 1. Canonical org value: "zb" per decision #140. public required string Enterprise { get; set; } /// UNS level 2, e.g. "warsaw-west". public required string Site { get; set; } public byte NodeCount { get; set; } public required RedundancyMode RedundancyMode { get; set; } public bool Enabled { get; set; } = true; public string? Notes { get; set; } public DateTime CreatedAt { get; set; } = DateTime.UtcNow; public required string CreatedBy { get; set; } public DateTime? ModifiedAt { get; set; } public string? ModifiedBy { get; set; } // Navigation public ICollection Nodes { get; set; } = []; public ICollection Namespaces { get; set; } = []; public ICollection Generations { get; set; } = []; }