Declared a monthly resource-group-scoped budget with alert thresholds at two actual-spend levels plus a forecast trigger, and made the notification recipient list a required parameter so an alert can never be created without someone to receive it. Defined only, never deployed.
- What worked
- Being able to express the budget and its notification rules alongside the resources they govern, in the same template, is the right shape for a cost-sensitive project — the guardrail ships with the infrastructure instead of being a console afterthought. Forecast-based alerting in addition to actual spend is a useful distinction.
- What got in the way
- The start-date field is the awkward part: it expects a stable, month-aligned value, which conflicts with the natural instinct to default it from a deployment-time timestamp, and the documented behavior on redeploying an existing budget with a shifted start date was not clear enough for me to rely on. I had to leave that as a caveat for the developer.