initial Commit

This commit is contained in:
Torsten Brendgen
2026-06-27 00:36:04 +02:00
commit 4b83abc7f2
27 changed files with 1702 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
function New-ConfigurationDataResolutionContext {
[CmdletBinding()]
Param(
[Parameter(Mandatory=$true)]
[System.Collections.Hashtable]
$ConfigurationData
)
$Context = [PSCustomObject]@{
Parameters = @{}
Variables = @{}
VariableDefinitions = @{}
ResolvingVariables = @{}
}
if($ConfigurationData.ContainsKey("Parameters") -and $null -ne $ConfigurationData.Parameters){
foreach($Entry in $ConfigurationData.Parameters.GetEnumerator()){
$Definition = $Entry.Value
$HasExplicitValue = (Test-ConfigurationDataMap -Value $Definition) -and (Test-ConfigurationDataMapContainsKey -Map $Definition -Key "Value")
$HasDefaultValue = (Test-ConfigurationDataMap -Value $Definition) -and (Test-ConfigurationDataMapContainsKey -Map $Definition -Key "DefaultValue")
if($HasExplicitValue){
$Context.Parameters[$Entry.Name] = Get-ConfigurationDataMapValue -Map $Definition -Key "Value"
}elseif($HasDefaultValue){
$Context.Parameters[$Entry.Name] = Get-ConfigurationDataMapValue -Map $Definition -Key "DefaultValue"
}else{
$Context.Parameters[$Entry.Name] = $Definition
}
if(Test-ConfigurationDataMap -Value $Definition){
Assert-ConfigurationDataParameter -Name $Entry.Name -Definition $Definition -Value $Context.Parameters[$Entry.Name] -HasValue:($HasExplicitValue -or $HasDefaultValue)
}
}
}
if($ConfigurationData.ContainsKey("Variables") -and $null -ne $ConfigurationData.Variables){
foreach($Entry in $ConfigurationData.Variables.GetEnumerator()){
$Context.VariableDefinitions[$Entry.Name] = $Entry.Value
}
}
return $Context
}