ProxmoxAutoInstallBuilder
Fluent builder for ProxmoxAutoInstallToml.
public class ProxmoxAutoInstallBuilder
1. Fields
1.1. ValidBtrfsCompression
Valid compression options for Btrfs.
public static readonly HashSet<string> ValidBtrfsCompression
1.2. ValidBtrfsLvmRaidLevels
Valid RAID levels for Btrfs and LVM.
public static readonly HashSet<string> ValidBtrfsLvmRaidLevels
1.3. ValidFilesystems
Valid filesystem types for Proxmox installation.
public static readonly HashSet<string> ValidFilesystems
1.4. ValidFirstBootOrdering
Valid first-boot ordering values.
public static readonly HashSet<string> ValidFirstBootOrdering
1.5. ValidFirstBootSources
Valid first-boot source values.
public static readonly HashSet<string> ValidFirstBootSources
1.6. ValidKeyboards
Valid keyboard layouts for Proxmox installation.
public static readonly HashSet<string> ValidKeyboards
1.7. ValidNetworkSources
Valid network source values.
public static readonly HashSet<string> ValidNetworkSources
1.8. ValidRebootModes
Valid reboot modes after installation.
public static readonly HashSet<string> ValidRebootModes
1.9. ValidZfsChecksum
Valid checksum options for ZFS.
public static readonly HashSet<string> ValidZfsChecksum
1.10. ValidZfsCompression
Valid compression options for ZFS.
public static readonly HashSet<string> ValidZfsCompression
1.11. ValidZfsRaidLevels
Valid RAID levels for ZFS.
public static readonly HashSet<string> ValidZfsRaidLevels
2. Methods
2.1. AddSshKey(string)
public ProxmoxAutoInstallBuilder AddSshKey(string sshKey)
| Name | Type | Description |
|---|---|---|
sshKey |
string |
Returns: ProxmoxAutoInstallBuilder
2.2. Build()
Builds the configuration model. Throws if validation fails.
public ProxmoxAutoInstallToml Build()
Returns: ProxmoxAutoInstallToml
2.3. Create()
public static ProxmoxAutoInstallBuilder Create()
Returns: ProxmoxAutoInstallBuilder
2.4. TryBuild(ProxmoxAutoInstallToml, IReadOnlyList<string>)
Tries to build the configuration model, returning false if validation fails.
public bool TryBuild(out ProxmoxAutoInstallToml model, out IReadOnlyList<string> errors)
| Name | Type | Description |
|---|---|---|
model |
ProxmoxAutoInstallToml |
|
errors |
IReadOnlyList<string> |
Returns: bool
2.5. Validate()
Validates the configuration and returns any errors found.
public IReadOnlyList<string> Validate()
Returns: IReadOnlyList<string>
2.6. WithBtrfs(string, double?, string)
public ProxmoxAutoInstallBuilder WithBtrfs(string raid, double? hdSize = null, string compress = null)
| Name | Type | Description |
|---|---|---|
raid |
string |
|
hdSize |
double? |
|
compress |
string |
Returns: ProxmoxAutoInstallBuilder
2.7. WithCountry(string)
public ProxmoxAutoInstallBuilder WithCountry(string country)
| Name | Type | Description |
|---|---|---|
country |
string |
Returns: ProxmoxAutoInstallBuilder
2.8. WithDiskFilter(string, string, string, string, string)
Configure disk selection using filters (WWN, serial number, model, vendor). Use wildcards (*) to match multiple disks. Highest-priority key first (WWN), since WWN is the only stable identifier on NVMe disks where Windows WMI serial numbers are mangled and don’t match Linux udev ID_SERIAL at install time.
public ProxmoxAutoInstallBuilder WithDiskFilter(string filterMatch = "any", string wwn = null, string serial = null, string model = null, string vendor = null)
| Name | Type | Description |
|---|---|---|
filterMatch |
string |
"any" means any filter criterion must match, "all" means all criteria must match |
wwn |
string |
Disk WWN / UniqueId (supports wildcards like "*eui.e823*"). Maps to udev ID_WWN. |
serial |
string |
Disk serial number (supports wildcards like "SAMSUNG*") |
model |
string |
Disk model (supports wildcards) |
vendor |
string |
Disk vendor (supports wildcards) |
Returns: ProxmoxAutoInstallBuilder
2.9. WithDiskList(string[])
public ProxmoxAutoInstallBuilder WithDiskList(params string[] disks)
| Name | Type | Description |
|---|---|---|
disks |
string[] |
Returns: ProxmoxAutoInstallBuilder
2.10. WithDiskModel(string, string)
Configure disk selection using model
public ProxmoxAutoInstallBuilder WithDiskModel(string model, string filterMatch = "any")
| Name | Type | Description |
|---|---|---|
model |
string |
|
filterMatch |
string |
Returns: ProxmoxAutoInstallBuilder
2.11. WithDiskSerialNumber(string, string)
Configure disk selection using serial number only (convenience method).
public ProxmoxAutoInstallBuilder WithDiskSerialNumber(string serial, string filterMatch = "any")
| Name | Type | Description |
|---|---|---|
serial |
string |
|
filterMatch |
string |
Returns: ProxmoxAutoInstallBuilder
2.12. WithDiskWwn(string, string)
Configure disk selection using WWN (udev ID_WWN). Highest-priority filter for NVMe disks.
public ProxmoxAutoInstallBuilder WithDiskWwn(string wwn, string filterMatch = "any")
| Name | Type | Description |
|---|---|---|
wwn |
string |
|
filterMatch |
string |
Returns: ProxmoxAutoInstallBuilder
2.13. WithFirstBoot(string, string, string, string)
public ProxmoxAutoInstallBuilder WithFirstBoot(string url, string source = "from-url", string ordering = "fully-up", string certFingerprint = null)
| Name | Type | Description |
|---|---|---|
url |
string |
|
source |
string |
|
ordering |
string |
|
certFingerprint |
string |
Returns: ProxmoxAutoInstallBuilder
2.14. WithFirstBootFromIso()
Configures first-boot to use an ISO-embedded script instead of a URL download. Sets source to "from-iso" and ordering to "fully-up". No URL is required.
public ProxmoxAutoInstallBuilder WithFirstBootFromIso()
Returns: ProxmoxAutoInstallBuilder
2.15. WithFullyQualifiedDomainName(string)
public ProxmoxAutoInstallBuilder WithFullyQualifiedDomainName(string fullyQualifiedDomainName)
| Name | Type | Description |
|---|---|---|
fullyQualifiedDomainName |
string |
Returns: ProxmoxAutoInstallBuilder
2.16. WithKeyboard(string)
public ProxmoxAutoInstallBuilder WithKeyboard(string keyboard)
| Name | Type | Description |
|---|---|---|
keyboard |
string |
Returns: ProxmoxAutoInstallBuilder
2.17. WithLvm(string, double?, string, double?, double?, double?, double?)
public ProxmoxAutoInstallBuilder WithLvm(string raid = null, double? hdSize = null, string compress = null, double? swapSize = null, double? maxRoot = null, double? maxVz = null, double? minFree = null)
| Name | Type | Description |
|---|---|---|
raid |
string |
|
hdSize |
double? |
|
compress |
string |
|
swapSize |
double? |
|
maxRoot |
double? |
|
maxVz |
double? |
|
minFree |
double? |
Returns: ProxmoxAutoInstallBuilder
2.18. WithNetworkDhcp()
public ProxmoxAutoInstallBuilder WithNetworkDhcp()
Returns: ProxmoxAutoInstallBuilder
2.19. WithNetworkManual(string, IP, IP, MAC?)
public ProxmoxAutoInstallBuilder WithNetworkManual(string cidr, IP gateway, IP dns, MAC? macAddress = null)
| Name | Type | Description |
|---|---|---|
cidr |
string |
|
gateway |
IP |
|
dns |
IP |
|
macAddress |
MAC? |
Returns: ProxmoxAutoInstallBuilder
2.20. WithPassword(ISystemHost, string, bool)
public ProxmoxAutoInstallBuilder WithPassword(ISystemHost host, string password, bool storeHashedPassword = true)
| Name | Type | Description |
|---|---|---|
host |
ISystemHost |
|
password |
string |
|
storeHashedPassword |
bool |
Returns: ProxmoxAutoInstallBuilder
2.21. WithReboot(bool, string)
public ProxmoxAutoInstallBuilder WithReboot(bool rebootOnError = false, string rebootMode = "reboot")
| Name | Type | Description |
|---|---|---|
rebootOnError |
bool |
|
rebootMode |
string |
Returns: ProxmoxAutoInstallBuilder
2.22. WithRootEmail(string)
public ProxmoxAutoInstallBuilder WithRootEmail(string mailto)
| Name | Type | Description |
|---|---|---|
mailto |
string |
Returns: ProxmoxAutoInstallBuilder
2.23. WithTimezone(string)
public ProxmoxAutoInstallBuilder WithTimezone(string timezone)
| Name | Type | Description |
|---|---|---|
timezone |
string |
Returns: ProxmoxAutoInstallBuilder
2.24. WithWebhook(string, string)
public ProxmoxAutoInstallBuilder WithWebhook(string url, string certFingerprint = null)
| Name | Type | Description |
|---|---|---|
url |
string |
|
certFingerprint |
string |
Returns: ProxmoxAutoInstallBuilder
2.25. WithZfs(string, double?, string, int?, int?, string, int?)
public ProxmoxAutoInstallBuilder WithZfs(string raid = null, double? hdSize = null, string compress = null, int? ashift = null, int? arcMax = null, string checksum = null, int? copies = null)
| Name | Type | Description |
|---|---|---|
raid |
string |
|
hdSize |
double? |
|
compress |
string |
|
ashift |
int? |
|
arcMax |
int? |
|
checksum |
string |
|
copies |
int? |
Returns: ProxmoxAutoInstallBuilder