【发布时间】:2020-11-25 17:16:38
【问题描述】:
下面的例子是为了给出一个关于这个问题的想法。
我在 Terraform 脚本的根模块中创建了一个资源组和 EventHubNS
我有另一个模块,称为 processingmodule ,它具有功能、EventHub 和其他一些聚合组件。
所以根模块如下 - 创建 Azure 资源组 创建 EventHubNS 创建处理模块
如果事件中心是在根模块中创建的,则使用下面的资源块创建 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 应该通过变量来引用。
namespace_name = var.eventhubnsname
resource_group_name = var.resourcegroupname
所以问题是 - 无论如何都可以从 processingcomponent 模块引用根模块中创建的资源
【问题讨论】:
-
能否提供完整的sn-p代码?
标签: terraform terraform-provider-aws terraform-provider-azure