Azure Bicep: Strongly Typed Parameters

Ever since the introduction of user-defined types in Azure Bicep, I have been experimenting with the best way to create strongly typed objects and parameters in order to improve the overall developer experience when using Bicep. I have settled on a concept that I think is worth sharing, which we will go over in this blog post. User-defined types Before we dive into the details, I will first give an introduction to user-defined types in Bicep. From the beginning, Bicep did not have strongly typed objects for anything other than resource definitions. Things have changed with a few key releases to the Bicep language, and with the introduction of export and import support for user-defined types, we can now share and reuse type definitions across modules, enabling much stronger type safety and consistency in our Bicep templates. ...

July 6, 2025 · 5 min · 870 words · Frederik Baun