Summary
azd preflight emits a false-positive "contains the reserved word MICROSOFT" warning for Microsoft.Chaos/targets. The Azure Chaos Studio AKS Chaos Mesh target type must be named microsoft-azurekubernetesservicechaosmesh — this name is fixed by the service and bound one-to-one with capability URNs (urn:csci:microsoft:azureKubernetesServiceChaosMesh:*Chaos/2.2). Users cannot rename it; doing so breaks experiment execution.
Expected behavior
Add Microsoft.Chaos/targets to azureReservedResourceNameExemptTypes so the preflight warning is suppressed, similar to how Microsoft.Compute/virtualMachines/extensions (publisher-named) and Microsoft.Network/privateDnsZones (FQDN-shaped) are already exempted for the same class of reason: the name is dictated by the service, not user-chosen.
Actual behavior
Every azd up / azd provision prints:
(!) Warning: Resource "microsoft-azurekubernetesservicechaosmesh" (Microsoft.Chaos/targets) contains the reserved word "MICROSOFT"
Azure does not allow reserved words in resource names. The deployment will fail.
ARM does not enforce the reserved-word rule on Microsoft.Chaos/targets, so deployment actually succeeds. The "The deployment will fail." message is misleading.
Reproduction
Minimal Bicep snippet under any azd-managed deployment:
resource chaosTarget ''Microsoft.Chaos/targets@2025-01-01'' = {
name: ''microsoft-azurekubernetesservicechaosmesh''
scope: aksCluster
properties: {}
}
Run azd up and the warning appears, but the deployment completes successfully and the Chaos experiments work.
Source
cli/azd/pkg/infra/provisioning/bicep/bicep_provider.go:
azureReservedResourceNameContainsMatches = []string{"MICROSOFT", "WINDOWS"}
azureReservedResourceNameExemptTypes does not include Microsoft.Chaos/targets
References
Environment
- azd version: 1.25.1 (commit b07e639, stable)
- OS: Windows 11
Summary
azdpreflight emits a false-positive "contains the reserved word MICROSOFT" warning forMicrosoft.Chaos/targets. The Azure Chaos Studio AKS Chaos Mesh target type must be namedmicrosoft-azurekubernetesservicechaosmesh— this name is fixed by the service and bound one-to-one with capability URNs (urn:csci:microsoft:azureKubernetesServiceChaosMesh:*Chaos/2.2). Users cannot rename it; doing so breaks experiment execution.Expected behavior
Add
Microsoft.Chaos/targetstoazureReservedResourceNameExemptTypesso the preflight warning is suppressed, similar to howMicrosoft.Compute/virtualMachines/extensions(publisher-named) andMicrosoft.Network/privateDnsZones(FQDN-shaped) are already exempted for the same class of reason: the name is dictated by the service, not user-chosen.Actual behavior
Every
azd up/azd provisionprints:ARM does not enforce the reserved-word rule on
Microsoft.Chaos/targets, so deployment actually succeeds. The "The deployment will fail." message is misleading.Reproduction
Minimal Bicep snippet under any azd-managed deployment:
Run
azd upand the warning appears, but the deployment completes successfully and the Chaos experiments work.Source
cli/azd/pkg/infra/provisioning/bicep/bicep_provider.go:azureReservedResourceNameContainsMatches = []string{"MICROSOFT", "WINDOWS"}azureReservedResourceNameExemptTypesdoes not includeMicrosoft.Chaos/targetsReferences
Environment