Add support for ARM params file and Bicep params file formats
PR Summary
Add import extension to support .bicepparam file format
Allow parameters to be in simple or ARM parameters format, however, reference support is not added at this time, only value is allowed.
Because the .bicepparam results in a wrapped object, instead of adding direct support of it, I added a new output property to the import extension manifest that takes an expression to allow simple transformation which is used in the new bicecpparameter extension to get the internal object string.
Added new stdout() function that can only be used currently with output property expression which just returns the stdout of the executed command.
Fixed an issue where import capability wasn't being displayed correct via dsc extension list.
Added a bunch of new parser tracing to help diagnose issues.
Consolidated reading input files for params and config into one helper function. This also takes care of reading from STDIN. This also uses any import extension.
Supports 3 parameters formats:
- current simplified format:
{
"parameters": {
"name": "value"
}
}
- ARM format:
{
"parameters": {
"name": {
"value": "paramValue"
}
}
Added helper function to take care of all of these formats
Added new Microsoft.DSC.Extension/BicepParameters import extension supporting .bicepparam file extension
PR Context
Fix https://github.com/PowerShell/DSC/issues/1047 Fix https://github.com/PowerShell/DSC/issues/867
@tgauth can you take another look, made a fundamental change with how to handle bicepparam format. I didn't like how the engine hard hardcoded knowledge about it when it's just an object wrapper around the ARM param object so created a new output property with a new stdout() function to extract it