NetboxPS/Functions/Helpers/CreateEnum.ps1

28 lines
659 B
PowerShell
Raw Permalink Normal View History

2022-12-06 13:34:52 -05:00

2020-04-09 09:57:20 -04:00
function CreateEnum {
[CmdletBinding()]
param
(
[Parameter(Mandatory = $true)]
[string]$EnumName,
2020-04-09 09:57:20 -04:00
[Parameter(Mandatory = $true)]
[pscustomobject]$Values,
2020-04-09 09:57:20 -04:00
[switch]$PassThru
)
2020-04-09 09:57:20 -04:00
$definition = @"
public enum $EnumName
{`n$(foreach ($value in $values) {
"`t$($value.label) = $($value.value),`n"
})
}
"@
if (-not ([System.Management.Automation.PSTypeName]"$EnumName").Type) {
#Write-Host $definition -ForegroundColor Green
Add-Type -TypeDefinition $definition -PassThru:$PassThru
} else {
Write-Warning "EnumType $EnumName already exists."
}
}