Terraform output

Terraform output
« kdy: 24. 11. 2022, 21:15:04 »
Prosím o radu někoho zkušenejšího s Terraformem.
Mám zadaný output, který mi vypíše celou sekci network:

Kód: [Vybrat]
output "private_ip" {
  value = hcloud_server.nodes[*].network

}

Terraform mi následně vypíše:

Kód: [Vybrat]
Outputs:

private_ip = [
  toset([
    {
      "alias_ips" = toset([])
      "ip" = "10.0.1.3"
      "mac_address" = "86:00:00:2a:f8:79"
      "network_id" = 2239143
    },
  ]),
]

Jak mám zadat aby se mi vypsala pouze ta IP?

Kód: [Vybrat]
private_ip = "10.0.1.3"


czipis

  • ***
  • 203
    • Zobrazit profil
    • E-mail
Re:Terraform output
« Odpověď #1 kdy: 24. 11. 2022, 22:06:27 »
zkus
Kód: [Vybrat]
value = hcloud_server.nodes[*].network["ip"]

Re:Terraform output
« Odpověď #2 kdy: 25. 11. 2022, 10:27:31 »
Kód: [Vybrat]
value = hcloud_server.nodes[*].network["ip"]

Hmm bohužel to neprošlo. A vypadalo to nadějně. Validace prošla, ale při apply mi Terraform vypíše
Kód: [Vybrat]
Error: Invalid index

   on server.tf line 43, in output "private_ip":
   43:   value = hcloud_server.nodes[*].network["ip"]

 Elements of a set are identified only by their value and don't have any separate index or key to select with, so it's only possible to perform operations across all elements of the set.

czipis

  • ***
  • 203
    • Zobrazit profil
    • E-mail
Re:Terraform output
« Odpověď #3 kdy: 25. 11. 2022, 10:40:35 »
ano, protoze iterujete pres vsechno. zkuste misto te hvezdicky dat nulu (jenom prvni record)