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)
Table 1. Parameters
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)
Table 2. Parameters
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)
Table 3. Parameters
Name Type Description

raid

string

hdSize

double?

compress

string

Returns: ProxmoxAutoInstallBuilder

2.7. WithCountry(string)

public ProxmoxAutoInstallBuilder WithCountry(string country)
Table 4. Parameters
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)
Table 5. Parameters
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)
Table 6. Parameters
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")
Table 7. Parameters
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")
Table 8. Parameters
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")
Table 9. Parameters
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)
Table 10. Parameters
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)
Table 11. Parameters
Name Type Description

fullyQualifiedDomainName

string

Returns: ProxmoxAutoInstallBuilder

2.16. WithKeyboard(string)

public ProxmoxAutoInstallBuilder WithKeyboard(string keyboard)
Table 12. Parameters
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)
Table 13. Parameters
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)
Table 14. Parameters
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)
Table 15. Parameters
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")
Table 16. Parameters
Name Type Description

rebootOnError

bool

rebootMode

string

Returns: ProxmoxAutoInstallBuilder

2.22. WithRootEmail(string)

public ProxmoxAutoInstallBuilder WithRootEmail(string mailto)
Table 17. Parameters
Name Type Description

mailto

string

Returns: ProxmoxAutoInstallBuilder

2.23. WithTimezone(string)

public ProxmoxAutoInstallBuilder WithTimezone(string timezone)
Table 18. Parameters
Name Type Description

timezone

string

Returns: ProxmoxAutoInstallBuilder

2.24. WithWebhook(string, string)

public ProxmoxAutoInstallBuilder WithWebhook(string url, string certFingerprint = null)
Table 19. Parameters
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)
Table 20. Parameters
Name Type Description

raid

string

hdSize

double?

compress

string

ashift

int?

arcMax

int?

checksum

string

copies

int?

Returns: ProxmoxAutoInstallBuilder