В Terraform, как ссылаться на компоненты, созданные в модуле root, во включенных модулях - PullRequest
0 голосов
/ 05 августа 2020

Приведенный ниже образец дает представление о вопросе.

У меня есть группа ресурсов и EventHubNS, созданные в модуле root скрипта Terraform

У меня есть другой модуль , называемый processingmodule, который имеет функцию, EventHub и несколько других агрегированных компонентов.

Итак, модуль Root выглядит следующим образом: Create Azure Resource Group Create EventHubNS Create processingModule

Если событие hub был создан в модуле root, ресурс eventhub создается с использованием нижеприведенного блока ресурсов

resource "azurerm_eventhub" "eventhub" {
  name                = "${var.eventhubname}-eh"
  namespace_name      = azurerm_eventhub_namespace.eventhubns.name
  resource_group_name = azurerm_resource_group.RG.name
  partition_count     = var.eventhub_partitioncount
  message_retention   = 5
 
}

Если я пишу модуль, namespace_name и resource_group_name не могут быть упомянуты, как показано ниже

namespace_name      = azurerm_eventhub_namespace.eventhubns.name
resource_group_name = azurerm_resource_group.RG.name

Вместо этого имя_пространства имен должно передаваться через переменную.

namespace_name      = var.eventhubnsname
resource_group_name = var.resourcegroupname

Итак, вопрос в том, есть ли способ ссылки на ресурсы, созданные в модуле root, из модуля компонента обработки

1 Ответ

0 голосов
/ 05 августа 2020

Модули не имеют доступа к ресурсам в родительском элементе, если эти ресурсы не передаются в модуль как переменные.

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