using System.Collections.Generic; using Newtonsoft.Json; using PSProxmoxVE.Core.Utilities; namespace PSProxmoxVE.Core.Models.Cluster; /// /// Represents a Proxmox VE resource pool as returned by the /pools endpoint. /// public class PvePool { /// /// The pool identifier. /// [JsonProperty("poolid")] public string? PoolId { get; set; } /// /// An optional comment or description for the pool. /// [JsonProperty("comment")] public string? Comment { get; set; } /// /// The pool members (VMs, containers, storage). Returned as a list of dictionaries /// when querying a specific pool. /// [JsonProperty("members")] [JsonConverter(typeof(NativeListConverter))] public List>? Members { get; set; } /// public override string ToString() { var memberCount = Members?.Count ?? 0; return $"Pool: {PoolId ?? "N/A"} | Comment: {Comment ?? "-"} | Members: {memberCount}"; } }