StefanWe 14 Posted September 20 Report Share Posted September 20 Hallo, ich baue gerade das ein oder andere größere Bicep Deployment. In einem Fall möchte ich gerne es etwas schöner lösen, komme aber nicht weiter. Ich habe ein main.bicep Script, welches als targetscope = 'Subscription' läuft um meine Resource Gruppen zu erstellen. Alle anderen Ressourcen werden dann als Module aus dem main Script gestartet. Ich lege im ersten Modul mehrere virtuelle Netze an. In diesem Script gebe ich über output die ResourceID der erstellten virtuellen Netze zurück. Anschließend habe ich im main Script eine Variable als array erstellt var Netzids = [ VirtualNetworks.outputs.vnet2id VirtualNetworks.outputs.vnet3id VirtualNetworks.outputs.vnet4id ] ich rufe nun das Modul für meine privaten DNS Zonen und deren vnet verlinkungen auf und übergebe das array als Parameter module PrivateDNSZones 'privatedns.bicep' = { scope: resourceGroup(rg_000.name) name: 'Deployment-Private-DNS-Zones' params: { vnetlinkids: Netzids } dependsOn: [ VirtualNetworks ] } Das funktioniert soweit ohne Probleme. Allerdings nun in der for Schleife komme ich mit dem Namen nicht zurecht. Dieser muss ja eindeutig sein: resource vnetlinkblob 'Microsoft.Network/privateDnsZones/virtualNetworkLinks@2024-06-01' = [for vnet in vnetlinkids: { name: 'link-${vnet}' parent: PrivatLinkBlob location: 'global' properties: { registrationEnabled: false virtualNetwork: { id: vnet } } }] In vnet steht allerdings die ID drin und nicht der Name vom Subnet. Damit läuft das Deployment auf die Nase. Ich glaube ansonsten würde es funktionieren. Die Frage ist nun, wie komme ich an den Namen des vnets um für den Link einen eindeutigen Namen zu haben? Quote Link to comment
StefanWe 14 Posted Tuesday at 06:27 AM Author Report Share Posted Tuesday at 06:27 AM (edited) Hab es übrigens recht einfach selber lösen können. In der resourceID ist ja ganz hinten der Name untergebracht. Dementsprechend kann man die Split Funktion in Verbindung mit concat verwenden. name: concat('vnetlink-', split(vnet, '/')[8]) Edited Tuesday at 06:28 AM by StefanWe Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.