DSC icon indicating copy to clipboard operation
DSC copied to clipboard

Add support for ARM params file and Bicep params file formats

Open SteveL-MSFT opened this issue 1 month ago • 1 comments

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

SteveL-MSFT avatar Nov 21 '25 00:11 SteveL-MSFT

@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

SteveL-MSFT avatar Nov 21 '25 21:11 SteveL-MSFT