ComputerBuilder<TComputer, TSelf>

public abstract class ComputerBuilder<TComputer, TSelf>
    where TComputer : Computer where TSelf : ComputerBuilder<TComputer, TSelf>

1. Type Parameters

1.1. TComputer

TComputer

1.2. TSelf

TSelf

2. Constructors

2.1. ComputerBuilder(NETSetupConfigBuilder, NETSetupConfig, MachineName, SystemManagement.Contracts.Elements.OperatingSystem?, string, IP?)

protected ComputerBuilder(NETSetupConfigBuilder builder, NETSetupConfig config, MachineName key, SystemManagement.Contracts.Elements.OperatingSystem? os = null, string serialNumber = null, IP? ip = null)
Table 1. Parameters
Name Type Description

builder

NETSetupConfigBuilder

config

NETSetupConfig

key

MachineName

os

SystemManagement.Contracts.Elements.OperatingSystem?

serialNumber

string

ip

IP?

3. Fields

3.1. Builder

protected readonly NETSetupConfigBuilder Builder

3.2. Config

protected readonly NETSetupConfig Config

3.3. IP

protected IP? IP

3.4. OperatingSystem

protected readonly SystemManagement.Contracts.Elements.OperatingSystem OperatingSystem

3.5. SerialNumber

protected readonly SerialNumber SerialNumber

4. Properties

4.1. Entity

protected TComputer Entity { get; set; }

5. Methods

5.1. AddFirewall(string, IP, SystemManagement.Contracts.Elements.OperatingSystem?, string)

public FirewallBuilder AddFirewall(string key, IP ip, SystemManagement.Contracts.Elements.OperatingSystem? os = null, string serialNumber = null)
Table 2. Parameters
Name Type Description

key

string

ip

IP

os

SystemManagement.Contracts.Elements.OperatingSystem?

serialNumber

string

Returns: FirewallBuilder

5.2. AddPrinter(string, IP?, string)

public TSelf AddPrinter(string key, IP? ip = null, string serialNumber = null)
Table 3. Parameters
Name Type Description

key

string

ip

IP?

serialNumber

string

Returns: TSelf

5.3. AddRouter(string, IP, Username, SystemManagement.Contracts.Elements.OperatingSystem?, string, IP?, IP?)

public RouterBuilder AddRouter(string key, IP ip, Username admin, SystemManagement.Contracts.Elements.OperatingSystem? os = null, string serialNumber = null, IP? firewallIP = null, IP? externalIP = null)
Table 4. Parameters
Name Type Description

key

string

ip

IP

admin

Username

os

SystemManagement.Contracts.Elements.OperatingSystem?

serialNumber

string

firewallIP

IP?

externalIP

IP?

Returns: RouterBuilder

5.4. AddUser(string, string)

public TSelf AddUser(string username, string password)
Table 5. Parameters
Name Type Description

username

string

password

string

Returns: TSelf

5.5. AddWindowsComputer(string, string, IP?)

public WindowsComputerBuilder AddWindowsComputer(string key, string serialNumber = null, IP? ip = null)
Table 6. Parameters
Name Type Description

key

string

serialNumber

string

ip

IP?

Returns: WindowsComputerBuilder

5.6. AddWindowsServer(string, IP, Username, string)

public WindowsServerBuilder AddWindowsServer(string key, IP ip, Username admin, string serialNumber = null)
Table 7. Parameters
Name Type Description

key

string

ip

IP

admin

Username

serialNumber

string

Returns: WindowsServerBuilder

5.7. Build()

public NETSetupConfig Build()

Returns: NETSetupConfig

5.8. CreateEntity(MachineName)

protected abstract TComputer CreateEntity(MachineName key)
Table 8. Parameters
Name Type Description

key

MachineName

Returns: TComputer

5.9. WithIP(IP)

public TSelf WithIP(IP ip)
Table 9. Parameters
Name Type Description

ip

IP

Returns: TSelf

5.10. WithOperatingSystem(SystemManagement.Contracts.Elements.OperatingSystem)

public TSelf WithOperatingSystem(SystemManagement.Contracts.Elements.OperatingSystem os)
Table 10. Parameters
Name Type Description

os

SystemManagement.Contracts.Elements.OperatingSystem

Returns: TSelf

5.11. WithSerialNumber(string)

public TSelf WithSerialNumber(string serialNumber)
Table 11. Parameters
Name Type Description

serialNumber

string

Returns: TSelf