2017-10-19 4 views
0

Gibt es eine Möglichkeit, die vsphere-datenquellen zum Festlegen der network_interface-label beim Erstellen einer VM-Instanz zu verwenden?Verwenden der Terraform-vsphere-ressource zum Festlegen der network_interface-label

Die Dokumente scheinen zu sagen, dass Sie nur Namen verwenden können. Die Datenquellen exportieren nur IDs.

Ich habe gesagt, was ich unten dachte, aber nicht sicher, dass es funktionieren würde. Ich bin neu in diesem tbh.

data "vsphere_distributed_virtual_switch" "dvs" { 
    name   = "my_dvs" 
    datacenter_id = "${data.vsphere_datacenter.datacenter.id}" 
} 

data "vsphere_network" "dgp" { 
    name   = "my_dgp" 
    datacenter_id = "${data.vsphere_datacenter.datacenter.id}" 
} 

resource "vsphere_virtual_machine" "linux_box" { 
    ... 
    network_interface { 
    label = "${data.vsphere_network.dvs.id}/${data.vsphere_network.dgp.id}" 
    } 
} 

Antwort

0

Führen Sie einen Testfall aus, um es zu beweisen.

Speichern unter Codes data.tf

data "vsphere_datacenter" "datacenter" { 
    name = "dc1" 
} 

data "vsphere_distributed_virtual_switch" "dvs" { 
    name   = "my_dvs" 
    datacenter_id = "${data.vsphere_datacenter.datacenter.id}" 
} 

data "vsphere_network" "dgp" { 
    name   = "my_dgp" 
    datacenter_id = "${data.vsphere_datacenter.datacenter.id}" 
} 

Lauf terraform plan und terraform apply. Da es keine Ressource create/destroy gibt, ist es sicher, sie auszuführen.

Nach dem Lauf terraform apply wird es eine Datei generieren, diese Datei anzeigen, wenn die ID der Name ist, den Sie suchen.

Wenn es ist, ist der Code, den Sie geschrieben haben, korrekt.

+0

das ist ein bisschen groß anders als was ich leider suche. Wenn es mir den Namen als die ID zurückgibt und ich die ID mit Namen suchen musste, verwende ich im Wesentlichen die Datenquelle ohne Grund. Ich werde testen, um zu sehen, ob die ID im Anbieter verwendet werden kann – vernak2539

+0

Dann welcher Teil bist du unbekannt? – BMW

+1

Ich denke, ich suchte nach einer Möglichkeit, IDs in der VM-Ressource zu verwenden, da sie etwas absoluter sind. Ich habe ein Problem bei github gemeldet und es scheint, dass die VM-Ressource keine IDs in ihrer aktuellen Form akzeptiert, aber an der neuen Version gearbeitet wird. Zu diesem Zeitpunkt sind vsphere-Datenquellen nicht mit der VM-Ressource kompatibel. Danke, dass du dir die Zeit genommen hast! – vernak2539

Verwandte Themen