namespace ZB.MOM.WW.OtOpcUa.Configuration.Entities;

/// <summary>UNS level-3 segment. Generation-versioned per decision #115.</summary>
public sealed class UnsArea
{
    public Guid UnsAreaRowId { get; set; }

    public long GenerationId { get; set; }

    public required string UnsAreaId { get; set; }

    public required string ClusterId { get; set; }

    /// <summary>UNS level 3 segment: matches <c>^[a-z0-9-]{1,32}$</c> OR equals literal <c>_default</c>.</summary>
    public required string Name { get; set; }

    public string? Notes { get; set; }

    public ConfigGeneration? Generation { get; set; }
    public ServerCluster? Cluster { get; set; }
}
