Можем ли мы ссылаться на экземпляры Eventhub через пространства имен Eventhub в Terraform? - PullRequest
0 голосов
/ 03 февраля 2020

У меня вопрос по поводу Azurerm Eventhub. Сейчас я являюсь данными, относящимися к пространству имен Eventhub, но я не могу получить экземпляры в выводе!

data "azurerm_eventhub_namespace" "eventhub_namespace" {
  name  ="example"
  resource_group_name = "example resource group"
}

, но есть ли у нас что-то вроде

data "azurerm_eventhub_instance" "eventhub_instace" {
  name_instance  ="example"
  resource_group_name = "example resource group"
}

Ответы [ 2 ]

2 голосов
/ 04 февраля 2020

К сожалению, я боюсь, что вы не можете сделать это. Terraform выставляет azurerm_eventhub_instance только в источнике данных. Поэтому то, что вы хотите, не поддерживается Terraform.

Возможное решение состоит в том, что вы можете использовать внешний источник данных для выполнения сценария, а затем использовать сценарий для получения экземпляра в Пространство имен.

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

Я придумал этот маленький скрипт, чтобы взять строки.

#!/usr/bin/env bash
RG=$1
EVENTHUBNAMESPACE=$2
SUBSCRIPTION=$3
az eventhubs eventhub list --resource-group "$RG" --namespace-name "$EVENTHUBNAMESPACE" --subscription "$SUBSCRIPTION" > eventhub.json
eventhub=( $(jq -r '.[].name' eventhub.json) )
for eventhub in "${eventhub[@]}"; do
 az eventhubs eventhub authorization-rule keys list --resource-group "$RG"  --namespace-name "$EVENTHUBNAMESPACE" --eventhub-name "$eventhub" --name "$eventhub" --subscription "$SUBSCRIPTION" > eventhubcon.json
 arr=( $(jq -r '.primaryConnectionString' eventhubcon.json) )
  for constr in "${arr[@]}"; do
  printf '%s\n' "${arr[@]}"
  done
done

...