'How to output resource id in bicep
How to output resource id in bicep, while creating the subnet how do we get the output string, virtual network syntax s shown below
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-01' = {
name: vnetName
location: resourceGroup().location
properties: {
addressSpace: {
addressPrefixes: [
'10.0.0.0/16'
]
}
subnets: [
{
name: 'subnetpoc-1'
properties: {
addressPrefix: '10.0.3.0/24'
}
}
{
name: 'subnetnetpoc-2'
properties: {
addressPrefix: '10.0.4.0/24'
}
}
]
}
}
// output subnet string = ""
Solution 1:[1]
You can use the resourceId function for that:
param vnetName string
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-01' = {
name: vnetName
...
}
// Return the 1st subnet id
output subnetId1 string = resourceId('Microsoft.Network/VirtualNetworks/subnets', vnetName, 'subnetpoc-1')
// Return the 2nd subnet id
output subnetId2 string = resourceId('Microsoft.Network/VirtualNetworks/subnets', vnetName, 'subnetpoc-2')
// Return as array
output subnetIdsArray array = [
resourceId('Microsoft.Network/VirtualNetworks/subnets', vnetName, 'subnetpoc-1')
resourceId('Microsoft.Network/VirtualNetworks/subnets', vnetName, 'subnetpoc-2')
]
// Return as object
output subnetIdsObject object = {
subnetId1: resourceId('Microsoft.Network/VirtualNetworks/subnets', vnetName, 'subnetpoc-1')
subnetId2: resourceId('Microsoft.Network/VirtualNetworks/subnets', vnetName, 'subnetpoc-2')
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 |
