Files
PSProxmoxVE/src/PSProxmoxVE.Core/Exceptions/PveVersionException.cs
T
Clint Branham 14cbff9877 docs: add XML doc comments to Core public API and remove CS1591 suppression
- Add missing XML doc comments to all public types and members in
  PSProxmoxVE.Core (Authentication, Exceptions, Models, Client)
- Remove CS1591 suppression from PSProxmoxVE.Core.csproj
- Build succeeds with 0 warnings

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 12:21:54 -05:00

44 lines
2.3 KiB
C#

using System;
using PSProxmoxVE.Core.Authentication;
namespace PSProxmoxVE.Core.Exceptions
{
/// <summary>Exception thrown when the connected Proxmox VE server does not meet the minimum version requirement for an operation.</summary>
public class PveVersionException : Exception
{
/// <summary>The minimum required major version number.</summary>
public int RequiredMajor { get; }
/// <summary>The minimum required minor version number.</summary>
public int RequiredMinor { get; }
/// <summary>The actual server version that did not meet the requirement.</summary>
public PveVersion ActualVersion { get; }
/// <summary>Initializes a new instance for a version requirement that was not met.</summary>
/// <param name="requiredMajor">The minimum required major version.</param>
/// <param name="requiredMinor">The minimum required minor version.</param>
/// <param name="actualVersion">The actual server version detected.</param>
public PveVersionException(int requiredMajor, int requiredMinor, PveVersion actualVersion)
: base($"This operation requires Proxmox VE {requiredMajor}.{requiredMinor} or later. Connected server is version {actualVersion}.")
{
RequiredMajor = requiredMajor;
RequiredMinor = requiredMinor;
ActualVersion = actualVersion;
}
/// <summary>Initializes a new instance for a version requirement that was not met, with an inner exception.</summary>
/// <param name="requiredMajor">The minimum required major version.</param>
/// <param name="requiredMinor">The minimum required minor version.</param>
/// <param name="actualVersion">The actual server version detected.</param>
/// <param name="innerException">The exception that caused this failure.</param>
public PveVersionException(int requiredMajor, int requiredMinor, PveVersion actualVersion, Exception innerException)
: base($"This operation requires Proxmox VE {requiredMajor}.{requiredMinor} or later. Connected server is version {actualVersion}.", innerException)
{
RequiredMajor = requiredMajor;
RequiredMinor = requiredMinor;
ActualVersion = actualVersion;
}
}
}