namespace ZB.MOM.WW.ScadaBridge.Commons.Types.Deployment;

/// <summary>
/// Lightweight projection of an instance's last-deployed state, used by the startup-reconciliation
/// path to compute the gap between central's expected deployed set and a site node's local inventory.
/// No <c>ConfigurationJson</c> is included — the full config is only fetched for gap instances via
/// the HTTP endpoint using the freshly-minted <see cref="ReconcileGapItem.FetchToken"/>.
/// </summary>
/// <param name="InstanceId">The instance primary key.</param>
/// <param name="InstanceUniqueName">The system-wide unique name for the instance.</param>
/// <param name="RevisionHash">Revision hash of the flattened configuration at last successful deploy.</param>
/// <param name="DeploymentId">Deployment ID of the last successful deploy (the fetch key).</param>
/// <param name="IsEnabled">True when the instance's current <c>State</c> is <c>Enabled</c>.</param>
public record ExpectedDeployment(
    int InstanceId,
    string InstanceUniqueName,
    string RevisionHash,
    string DeploymentId,
    bool IsEnabled);
