Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bmoore-msft/03c561aae8f77218e33199d7b1874833 to your computer and use it in GitHub Desktop.
Save bmoore-msft/03c561aae8f77218e33199d7b1874833 to your computer and use it in GitHub Desktop.
Sample createUiDefinition.json file that shows how to provide an experience to select an existing subnet
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "vnetSelector",
"type": "Microsoft.Solutions.ResourceSelector",
"label": "Virtual Network",
"resourceType": "Microsoft.Network/virtualNetworks",
"options": {
"filter": {
"subscription": "onBasics",
"location": "onBasics"
}
}
},
{
"name": "subnets",
"type": "Microsoft.Solutions.ArmApiControl",
"request": {
"method": "GET",
"path": "[concat(subscription().id, '/resourceGroups/', last(take(split(basics('vnetSelector').id, '/'), 5)), '/providers/Microsoft.Network/virtualNetworks/', basics('vnetSelector').name,'/subnets?api-version=2022-01-01')]"
}
},
{
"name": "subnetList",
"type": "Microsoft.Common.DropDown",
"label": "Subnet",
"toolTip": "",
"filter": true,
"constraints": {
"allowedValues": "[map(basics('subnets').value, (item) => parse(concat('{\"label\":\"', item.name, '\",\"value\":\"', item.id, '\"}')))]",
"required": true
},
"visible": true
}
],
"steps": [
],
"outputs": {
"location": "[location()]",
"vnetResourceGroup": "[last(take(split(basics('vnetSelector').id, '/'), 5))]",
"vnetName": "[basics('vnetSelector').name]",
"subnetResourceId": "[basics('subnetList')]"
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment