Terraform模块抛出要求字符串的错误

Terraform模块抛出要求字符串的错误,terraform,terraform-provider-azure,terraform-modules,Terraform,Terraform Provider Azure,Terraform Modules,我一直在尝试将我的terraform代码从一个大文件分割成不同的模块。我一直遇到一个问题,在运行Terraform Plan时出现以下错误 Error: Incorrect attribute value type on modules/nsg/main.tf line 11, in resource "azurerm_network_security_group" "InternalProdNSGPrivate": 11: resource_group_name = "${mod

我一直在尝试将我的terraform代码从一个大文件分割成不同的模块。我一直遇到一个问题,在运行Terraform Plan时出现以下错误

Error: Incorrect attribute value type

  on modules/nsg/main.tf line 11, in resource "azurerm_network_security_group" "InternalProdNSGPrivate":
  11:   resource_group_name = "${module.rg.main-rg-id}"

Inappropriate value for attribute "resource_group_name": string required.
我创建了一个
outputs.tf
文件,该文件包含以下内容:

output "main-rg-id" {
  value = "${azurerm_resource_group.InternalProd}"
}
此模块的
main.tf
具有以下功能:

module "global_variables" {
  source = "../global_variables"
}

resource "azurerm_resource_group" "InternalProd" {
  name     = "Internal"
  location = "${module.global_variables.location}"
}
在NSG的main.tf文件中,我配置了以下内容:

module "rg" {
  source = "../rg"
}
module "global_variables" {
  source = "../global_variables"
}

resource "azurerm_network_security_group" "InternalProdNSGPrivate" {
  name                = "Internal-NSG"
  location            = "${module.global_variables.location}"
  resource_group_name = "${module.rg.main-rg-id}"
....
}

不确定我在这里的配置哪里出了问题。尝试查看多个不同的资源、博客等,但没有成功。

azurerm\u资源组。InternalProd
是表示整个
资源“azurerm\u资源组”“InternalProd”的对象

要仅生成该对象的id,可以访问属性
id
,如下所示:

output "main-rg-id" {
  value = azurerm_resource_group.InternalProd.id
}