Azure / Azure/bicep

Tooling to have schema aware outputs

Open
#3,196 2 comments 1 reaction 0 assignees View on GitHub
enhancement revisit type system
Dominant language
Bicep
Stars
3.6k
Forks
830
Avg merge
1d 21m
Merged PRs (30d)
79

Description

It would be great when a module has a "strongly typed" object output, to be able to reference its properties from the bicep file consuming the module.

Sample module:
```bicep
param message string

output foo object = {
bar: 'xxxx'
anotherProperty: 1234
input: message
}
```
So the desired output would be to list the properties of the output object ('bar', 'anotherProperty' and 'input') in the following usage of the above module:

![image](https://user-images.githubusercontent.com/3367065/121782522-6ee43980-cbb2-11eb-9d33-1e14d6bcdfcc.png)

An ARM Template has the limitation of allowing only 64 outputs, and when working around this limitation by including those values to an object output, there is no intellisense/help during coding on its schema to reference the values/properties.

Contributor guide

Open the contributing guide

Research direction

Start with the sample module and consuming Bicep usage shown in the issue, then inspect how object outputs and property completion are currently handled. Done means properties such as bar, anotherProperty, and input are available as schema-aware completions when the module output is referenced.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.