Jump to content

Bicep Module Arrays und Outputs


Empfohlene Beiträge

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?

Link zu diesem Kommentar
  • 2 Wochen später...

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...