Вывести заданное значение c из списка карт в Terraform - PullRequest
0 голосов
/ 26 февраля 2020

Я пытаюсь подготовить Azure AKS, используя terraform. Когда я создаю AKS с профилем LoadBalancer, он создает балансировщик нагрузки с stati c publi c IP. Мне нужно, чтобы эти IP-адреса передавались на Nginx контроллер

. Я пытаюсь использовать блок данных, чтобы получить IP-адреса, созданные Terraform, и передать их шаблонам шлема terraform для обеспечения доступа Nginx. контроллер

Когда я использую блок данных

data "azurerm_public_ips" "example" {
  resource_group_name = azurerm_kubernetes_cluster.aks.node_resource_group
  attached            = true
  allocation_type = "Static"
  name_prefix = "kubernetes"
  depends_on = [
  azurerm_kubernetes_cluster.aks]
}

output "ip" {
  value = data.azurerm_public_ips.example.public_ips
}

, я получу вывод в следующем виде

 ip = [
  {
     "domain_name_label" = ""
     "fqdn" = ""
     "id" = "/subscriptions/xxxx/resourceGroups/xx/providers/Microsoft.Network/publicIPAddresses/kubernetesxx"
     "ip_address" = "00.00.00.00"
     "name" = "kubernetes-xxxxx"
  },
]


Чего я хочу добиться, это передать значение ip_address на мой график руля

1 Ответ

0 голосов
/ 26 февраля 2020

Вы должны сделать это:

element(data.azurerm_public_ips.example.public_ip, 1).ip_address

https://www.terraform.io/docs/configuration/functions/element.html

обратите внимание, что это для 0,12, для 0,11 проверки это статья

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...