33 lines
1.2 KiB
C#
33 lines
1.2 KiB
C#
namespace ZB.MOM.WW.OtOpcUa.Configuration.Entities;
|
|
|
|
/// <summary>One driver instance in a cluster's generation. JSON config is schemaless per-driver-type.</summary>
|
|
public sealed class DriverInstance
|
|
{
|
|
public Guid DriverInstanceRowId { get; set; }
|
|
|
|
public long GenerationId { get; set; }
|
|
|
|
public required string DriverInstanceId { get; set; }
|
|
|
|
public required string ClusterId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Logical FK to <see cref="Namespace.NamespaceId"/>. Same-cluster binding enforced by
|
|
/// <c>sp_ValidateDraft</c> per decision #122: Namespace.ClusterId must equal DriverInstance.ClusterId.
|
|
/// </summary>
|
|
public required string NamespaceId { get; set; }
|
|
|
|
public required string Name { get; set; }
|
|
|
|
/// <summary>Galaxy | ModbusTcp | AbCip | AbLegacy | S7 | TwinCat | Focas | OpcUaClient</summary>
|
|
public required string DriverType { get; set; }
|
|
|
|
public bool Enabled { get; set; } = true;
|
|
|
|
/// <summary>Schemaless per-driver-type JSON config. Validated against registered JSON schema at draft-publish time (decision #91).</summary>
|
|
public required string DriverConfig { get; set; }
|
|
|
|
public ConfigGeneration? Generation { get; set; }
|
|
public ServerCluster? Cluster { get; set; }
|
|
}
|