Migration/hpe_vme/RiverMeadow.HPEVMENetworkConfiguration/RiverMeadow.HPEVMENetworkConfiguration.psm1

class RMHPEVMEDestinationNetworkConfiguration {
    [string] $DestinationNetworkName
    [string] $IPType
    [string] $IPAddress
    [string] $Netmask

    RMHPEVMEDestinationNetworkConfiguration([string] $DestinationNetworkName) {
        $this.DestinationNetworkName = $DestinationNetworkName
        $this.IPType = "dhcp"
        $this.IPAddress = ""
        $this.Netmask = ""
    }

    RMHPEVMEDestinationNetworkConfiguration([string] $DestinationNetworkName, [string] $IPType) {
        $this.DestinationNetworkName = $DestinationNetworkName
        if ([string]::IsNullOrEmpty($IPType)) {
            $this.IPType = "dhcp"
        } else {
            $this.IPType = $IPType.ToLower()
        }
        $this.IPAddress = ""
        $this.Netmask = ""
    }

    RMHPEVMEDestinationNetworkConfiguration([string] $DestinationNetworkName, [string] $IPType, [string] $IPAddress) {
        $this.DestinationNetworkName = $DestinationNetworkName
        if ([string]::IsNullOrEmpty($IPType)) {
            $this.IPType = "dhcp"
        } else {
            $this.IPType = $IPType.ToLower()
        }
        $this.IPAddress = $IPAddress
        $this.Netmask = ""
    }

    RMHPEVMEDestinationNetworkConfiguration([string] $DestinationNetworkName, [string] $IPType, [string] $IPAddress, [string] $Netmask) {
        $this.DestinationNetworkName = $DestinationNetworkName
        if ([string]::IsNullOrEmpty($IPType)) {
            $this.IPType = "dhcp"
        } else {
            $this.IPType = $IPType.ToLower()
        }
        $this.IPAddress = $IPAddress
        $this.Netmask = $Netmask
    }
}