Is your feature request related to a problem? Please describe.
It would be really nice if the info command could provide enough information to build an experience like that of the Azure Portal:

In the above, selection of a language version allows consumers to infer both runtime and builder images, as well as a default port.
Mention what platform you want to support the new feature
All
Describe the solution you'd like
Currently, Draft outputs this (to take Java as an example):
{
"name": "java",
"displayName": "Java",
"variableExampleValues": {
"BUILDERVERSION": [
"3-jdk-11"
],
"VERSION": [
"8-jre",
"11-jre",
"17-jre",
"19-jre"
]
}
But an Azure Portal-like experience would require something like this:
{
"name": "java",
"displayName": "Java",
"defaultPort": 8080,
"versions": [
{
"name": "Java 8",
"imageVersion": "8-jre",
"builderVersion": "3-eclipse-temurin-8"
},
{
"name": "Java 11",
"imageVersion": "11-jre",
"builderVersion": "3-eclipse-temurin-11"
},
{
"name": "Java 17",
"imageVersion": "17-jre",
"builderVersion": "3-eclipse-temurin-17"
},
{
"name": "Java 19",
"imageVersion": "19-jre",
"builderVersion": "3-eclipse-temurin-19"
},
]
}
I.e. in addition to the current output, it would also allow consumers to extract:
- A display name for each of the versions
- An image version for each of the versions
- A builder version for each of the versions (if required in the Dockerfile)
- A default port for the language
- A more comprehensive selection of versions (e.g. for
go, the info command outputs 1.16..1.19, yet the Portal displays 1.15..1.20)
Describe alternatives you've considered
As a consumer of Draft, I can maintain my own JSON mapping of languages to versions and ports, just as the Portal has to.
Additional context
I understand that maintaining a list of available versions (and associated images for each) is a maintenance overhead, but if Draft doesn't do that then consuming tools all have to, meaning it's hard to keep them in sync.
Is your feature request related to a problem? Please describe.
It would be really nice if the

infocommand could provide enough information to build an experience like that of the Azure Portal:In the above, selection of a language version allows consumers to infer both runtime and builder images, as well as a default port.
Mention what platform you want to support the new feature
All
Describe the solution you'd like
Currently, Draft outputs this (to take Java as an example):
{ "name": "java", "displayName": "Java", "variableExampleValues": { "BUILDERVERSION": [ "3-jdk-11" ], "VERSION": [ "8-jre", "11-jre", "17-jre", "19-jre" ] }But an Azure Portal-like experience would require something like this:
{ "name": "java", "displayName": "Java", "defaultPort": 8080, "versions": [ { "name": "Java 8", "imageVersion": "8-jre", "builderVersion": "3-eclipse-temurin-8" }, { "name": "Java 11", "imageVersion": "11-jre", "builderVersion": "3-eclipse-temurin-11" }, { "name": "Java 17", "imageVersion": "17-jre", "builderVersion": "3-eclipse-temurin-17" }, { "name": "Java 19", "imageVersion": "19-jre", "builderVersion": "3-eclipse-temurin-19" }, ] }I.e. in addition to the current output, it would also allow consumers to extract:
go, theinfocommand outputs1.16..1.19, yet the Portal displays1.15..1.20)Describe alternatives you've considered
As a consumer of Draft, I can maintain my own JSON mapping of languages to versions and ports, just as the Portal has to.
Additional context
I understand that maintaining a list of available versions (and associated images for each) is a maintenance overhead, but if Draft doesn't do that then consuming tools all have to, meaning it's hard to keep them in sync.