Cost and cleanup safety¶
Azure budgets and cost alerts notify you; they do not stop consumption. Treat cleanup as part of the lab, not an optional final note.
Cost classes¶
none: no Azure resource is created.low: short-lived, inexpensive resources under normal lab usage.moderate: compute, networking, monitoring ingestion, or backup can become material if left running.elevated: Bastion, mobility, custom-domain prerequisites, Backup, or Site Recovery; separate approval is required.
Do not publish fixed prices. Each lab lists billable resources and links to current official pricing.
Resource identity¶
Tag taggable resources with:
purpose=az104-lablabIdrunIdexpiresOn
Tags are plain text. Never put secrets or personal information in them.
Cleanup contract¶
Cleanup must:
- Read exact IDs from
.state/<run-id>/. - Print the planned deletion.
- Remove only the recorded run and matching tags.
- Restore shared settings from the pre-change snapshot.
- Wait for asynchronous deletion when necessary.
- Report anything that remains.
A repository-wide janitor is report-only unless a separate destructive mode is explicitly approved.