Use symbolic name compilation if any explicit dependencies on existing resources are declared
- Dominant language
- Bicep
- Stars
- 3.6k
- Forks
- 830
- Avg merge
- 1d 21m
- Merged PRs (30d)
- 79
Description
**Is your feature request related to a problem? Please describe.**
Resources are allowed to declare explicit dependencies (via the `dependsOn` property) on any resource, including `existing` resources. In symbolic name templates, this allows template authors to "gate" a resource deployment on whether a resource not included in the template exists (as requested in #10097); in non-symbolic name templates, however, the explicit dependency is silently dropped.
**Describe the solution you'd like**
If a template contains any explicit dependency on existing resources, Bicep should compile to a symbolic name template so that the dependency is retained in the ARM JSON template.
Contributor guide
Research direction
Start by tracing where Bicep chooses symbolic versus non-symbolic name compilation and how explicit dependsOn declarations on existing resources are handled. Done means templates containing such dependencies compile symbolically and preserve those dependencies in the ARM JSON output.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- json
- Domain
- cloud, infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100