Files
123123/ZA.CoreService.ESBCertificateManager/Models/SonicConnection.cs
T
2026-07-28 08:03:12 +02:00

49 lines
1.8 KiB
C#

namespace ZA.CoreService.ESBCertificateManager.Models;
/// <summary>
/// Sonic-Verbindung für MfApi-Container-Restart (wie SMC).
/// </summary>
public sealed class SonicConnection
{
/// <summary>Alias; referenziert von DeploymentTarget.SonicConnectionName.</summary>
public required string Name { get; init; }
/// <summary>Sonic-Domain, z.B. proalpha-test.</summary>
public required string DomainName { get; init; }
/// <summary>Broker-/Management-URL wie in der SMC, z.B. tcp://host:13070.</summary>
public required string ConnectionUrl { get; init; }
public required string Username { get; init; }
/// <summary>
/// Nur zur Laufzeit aus Always Encrypted geladen.
/// Darf nicht geloggt oder dauerhaft gespeichert werden.
/// </summary>
public string Password { get; init; } = string.Empty;
/// <summary>
/// Verweis auf eine generische Windows-Anmeldeinformation.
/// Enthält ausdrücklich kein Kennwort.
/// </summary>
public string CredentialReference { get; init; } = string.Empty;
/// <summary>Installationsroot (optional; Libs oft unter lib).</summary>
public string SonicHome { get; init; } = @"C:\Sonic\MQ10.0";
/// <summary>Optional: JRE/JDK-Home.</summary>
public string JavaHome { get; init; } = string.Empty;
/// <summary>Optional: direkter Pfad zu java.exe.</summary>
public string JavaPath { get; init; } = string.Empty;
/// <summary>Ordner mit mgmt_client.jar / mfcontext.jar / …</summary>
public string MfClientLibPath { get; init; } = string.Empty;
/// <summary>Container-Kurznamen, z.B. ct-ZADBService.</summary>
public List<string> KnownContainers { get; init; } = [];
public int TimeoutSeconds { get; init; } = 120;
public int PostRestartDelaySeconds { get; init; } = 20;
public string ManagementModeDisplay => "MfApi (SMC Restart)";
}