DSC icon indicating copy to clipboard operation
DSC copied to clipboard

Initial features needed for Bicep

Open SteveL-MSFT opened this issue 5 months ago • 1 comments

Summary of the new feature / enhancement

  • [x] not()
  • [x] or()
  • [x] and()
  • [x] automatic consumption of .bicep files
  • [ ] output
  • [x] union()
  • [x] contains()
  • [x] endsWith()
  • [x] length()
  • [x] utcNow()
  • [x] uniqueString()
  • [x] empty()
  • [x] Copy (aka loops)
  • [ ] Types
  • [ ] map() - lambda
  • [ ] filter() - lambda
  • [ ] reduce() - lambda
  • [ ] ARM language v2 support
  • [ ] flatten() -ARM language v2

Proposed technical implementation details (optional)

No response

SteveL-MSFT avatar Jul 17 '25 02:07 SteveL-MSFT

@SteveL-MSFT - I think this is also part of the ARM language v2 support. It would be pretty cool if something like the following can be done:

extension dsc
targetScope = 'desiredStateConfiguration'

param companyName string = 'MyCompany'
param valueData registryValueDataType

resource registry 'Microsoft.Windows/[email protected]' = {
  keyPath: 'HKLM\\Software\\${toLower(companyName)}'
  valueName: 'InstallPath'
  valueData: valueData
}

// =============== //
//   Definitions   //
// =============== //

@export()
@description('The type for registry value data. Can be one of several variants based on the registry value type.')
type registryValueDataType = {
  @description('Optional. A string value (REG_SZ).')
  String: string?

  @description('Optional. An expandable string value (REG_EXPAND_SZ).')
  ExpandString: string?

  @description('Optional. Binary data (REG_BINARY).')
  Binary: int[]?

  @description('Optional. A 32-bit number (REG_DWORD).')
  DWord: int?

  @description('Optional. An array of strings (REG_MULTI_SZ).')
  MultiString: string[]?

  @description('Optional. A 64-bit number (REG_QWORD).')
  QWord: int?
}

Gijsreyn avatar Oct 28 '25 03:10 Gijsreyn