Andrew Wilson's Blog

{ ... Plan - Architect - Develop - Reflect - Improve - Repeat ... }

Bicep Tips and Tricks | #9 | Prevent a Nasty Refactor with Function Namespaces

Problem Space There have been few times where I have landed into this particular predicament whereby either by my own doing or through the use of another’s code base, a deep nested or thoroughly utilised (parameter/variable/or other defined item) has been created with the same name as a Bicep …


Bicep Tips and Tricks | #8 | Agnostic Templates Through Config Files

Overview Building on our previous exploration of Typed Variables, today we’re diving into one of my favorite patterns for creating maintainable and reusable Bicep templates: the Shared Variable File Pattern. This approach transforms your templates from being tightly coupled to specific …


Bicep Tips and Tricks | #7 | From Static to Dynamic Config

Overview One of my core goals when writing IaC templates is ensuring reusability of common components, resources, and in this case, configuration. More often than not, I see configuration that is broadly common between resources (except for one or two properties) being duplicated throughout …


Bicep Tips and Tricks | #6 | Typed Variables

Overview In late May this year, an exciting but semi overlooked feature was released, and I absolutely love it - Typed Variables! Prior to this release, variable types were inferred through the value, which is fine for most statically defined content within a template, but there are cases that I …


Bicep Tips and Tricks | #5 | From Documentation to Deployment-Time Validation: Conditional Parameter Requirements

Overview In Bicep templates, we sometimes encounter scenarios where certain parameters should be mandatory based on the value of another parameter. For example, when deploying to production environments, you might require additional configuration parameters that are optional for development …