mirror of
https://github.com/GoodOlClint/PSProxmoxVE.git
synced 2026-08-27 23:47:21 +00:00
a72642d203
Add 35 new cmdlets bringing the total to 118: - Firewall (21): rules, groups, aliases, IP sets, options at cluster/node/VM/container levels - Backup (5): ad-hoc vzdump and scheduled backup job CRUD - SDN IPAM/DNS/Controller (9): plugin management for SDN subsystem Also includes: - Fix: Remove-PveRole now has ConfirmImpact.High - Fix: URL-encode snapshot names in API paths - Refactor: extract auth header strings to constants in PveHttpClient - Add PSGallery version badge to README - Full test coverage: 11 JSON fixtures, xUnit model tests, Pester unit tests, and integration tests for firewall/backup/OVA import - Updated manifest, format file, CHANGELOG, README, API coverage docs Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
53 lines
1.4 KiB
C#
53 lines
1.4 KiB
C#
using System.Text.Json.Serialization;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace PSProxmoxVE.Core.Models.Network;
|
|
|
|
/// <summary>
|
|
/// Represents a Software-Defined Networking (SDN) IPAM plugin as returned by
|
|
/// the /cluster/sdn/ipams endpoint. Requires Proxmox VE 8.0+.
|
|
/// </summary>
|
|
public class PveSdnIpam
|
|
{
|
|
/// <summary>
|
|
/// The IPAM plugin identifier.
|
|
/// </summary>
|
|
[JsonPropertyName("ipam")]
|
|
[JsonProperty("ipam")]
|
|
public string Ipam { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// The IPAM type (e.g. "pve", "netbox", "phpipam").
|
|
/// </summary>
|
|
[JsonPropertyName("type")]
|
|
[JsonProperty("type")]
|
|
public string Type { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// The URL of the external IPAM service (for netbox/phpipam types).
|
|
/// </summary>
|
|
[JsonPropertyName("url")]
|
|
[JsonProperty("url")]
|
|
public string? Url { get; set; }
|
|
|
|
/// <summary>
|
|
/// The API token for the external IPAM service.
|
|
/// </summary>
|
|
[JsonPropertyName("token")]
|
|
[JsonProperty("token")]
|
|
public string? Token { get; set; }
|
|
|
|
/// <summary>
|
|
/// The configuration section identifier.
|
|
/// </summary>
|
|
[JsonPropertyName("section")]
|
|
[JsonProperty("section")]
|
|
public int? Section { get; set; }
|
|
|
|
/// <inheritdoc />
|
|
public override string ToString()
|
|
{
|
|
return $"SDN IPAM: {Ipam} | Type: {Type}";
|
|
}
|
|
}
|