Add missing yaml-parse logic
This commit is contained in:
parent
86809640b4
commit
d164f07fb4
@ -22,7 +22,24 @@ $ConvertFromYamlSplat = @{
|
|||||||
Yaml = $RawContent
|
Yaml = $RawContent
|
||||||
AllDocuments = $True
|
AllDocuments = $True
|
||||||
}
|
}
|
||||||
$OVFConfig = ConvertFrom-Yaml @ConvertFromYamlSplat
|
$YamlDocuments = ConvertFrom-Yaml @ConvertFromYamlSplat
|
||||||
|
|
||||||
|
# Check if the respective .yml file declared substitutions which need to be parsed
|
||||||
|
If (($YamlDocuments.Count -gt 1) -and $YamlDocuments[-1].Variables) {
|
||||||
|
ForEach ($Pattern in $YamlDocuments[-1].Variables) {
|
||||||
|
$RawContent = $RawContent -replace "\{\{ ($($Pattern.Name)) \}\}", [string](Invoke-Expression -Command $Pattern.Expression)
|
||||||
|
}
|
||||||
|
# Perform conversion to Yaml again, now with parsed file contents
|
||||||
|
$ConvertFromYamlSplat = @{
|
||||||
|
Yaml = $RawContent
|
||||||
|
AllDocuments = $True
|
||||||
|
}
|
||||||
|
$YamlDocuments = ConvertFrom-Yaml @ConvertFromYamlSplat
|
||||||
|
$OVFConfig = $YamlDocuments[0..($YamlDocuments.Count - 2)]
|
||||||
|
}
|
||||||
|
Else {
|
||||||
|
$OVFConfig = $YamlDocuments
|
||||||
|
}
|
||||||
|
|
||||||
$SourceFile = Get-Item -Path $OVFFile
|
$SourceFile = Get-Item -Path $OVFFile
|
||||||
$GetContentSplat = @{
|
$GetContentSplat = @{
|
||||||
|
Loading…
Reference in New Issue
Block a user