Public/PackerFile.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
function PackerFile { [CmdletBinding()] param( [Parameter( Mandatory = $true)] [string]$Name, [Parameter( Mandatory = $true)] [scriptblock]$Script ) $Script:ThisPackerInfo = [pscustomobject]@{ JsonBaseName = "$Name.json" Source = $null Destination = $null } $Script:ThisPackerFile = [pscustomobject]@{ builders = @() provisioners = @() 'post-processors' = @() variables = @{} } . $Script $Script:ThisPackerFile | Out-JsonFile -Path $Script:ThisPackerInfo.Destination -FileName $Script:ThisPackerInfo.JsonBaseName } |