Terraform的NSX-T提供程序未定位第0层路由器
Terraform的NSX-T提供商遇到了一个奇怪的问题。我正在引用我的第0层路由器作为数据源,但我不能在我的资源中使用它 第0层路由器数据源:Terraform的NSX-T提供程序未定位第0层路由器,terraform,Terraform,Terraform的NSX-T提供商遇到了一个奇怪的问题。我正在引用我的第0层路由器作为数据源,但我不能在我的资源中使用它 第0层路由器数据源: data "nsxt_logical_tier0_router" "tier0_router" { id = "c8a3e87c-ec49-4586-ad2e-ada799e0fd34" } 逻辑路由器资源: # Router downlink resource "nsxt_logical_router_downlink_port" "downl
data "nsxt_logical_tier0_router" "tier0_router" {
id = "c8a3e87c-ec49-4586-ad2e-ada799e0fd34"
}
逻辑路由器资源:
# Router downlink
resource "nsxt_logical_router_downlink_port" "downlink_port" {
description = "DP1 provisioned by Terraform"
display_name = "vendor_bastion"
logical_router_id = nsxt_logical_tier0_router.tier0_router.id
linked_logical_switch_port_id = nsxt_logical_port.logical_port1.id
ip_address = "10.30.3.252/24"
}
它在“nsxt\u logical\u tier0\u router.tier0\u router.id”行上出现错误,显示:
Error: Reference to undeclared resource
on tf-nsxt.tf line 46, in resource "nsxt_logical_router_downlink_port" "downlink_port":
46: logical_router_id = nsxt_logical_tier0_router.tier0_router.id
A managed resource "nsxt_logical_tier0_router" "tier0_router" has not been
declared in the root module.
奇怪的是,如果我把这个ID放在第46行,它就可以正常工作。以前有人见过吗?根据提供商参考(): 逻辑路由器\下行链路\端口:此资源提供了一种在逻辑路由器上定义下行链路端口的方法,以将逻辑第1层路由器连接到逻辑交换机。其结果是为在逻辑交换机上运行的虚拟机提供默认网关
如果您想将tier0与tier1共同连接,您应该使用tier0上的
nsxt\u logical\u router\u link\u port\u
在本页上:我发现了这个问题,忘了回来发布。解决方案是,在引用数据时,需要在引用前面添加“data.”。因此,参考路由器的正确方法如下:
# Router downlink
resource "nsxt_logical_router_downlink_port" "downlink_port" {
description = "DP1 provisioned by Terraform"
display_name = "vendor_bastion"
logical_router_id = data.nsxt_logical_tier0_router.tier0_router.id
linked_logical_switch_port_id = nsxt_logical_port.logical_port1.id
ip_address = "10.30.3.252/24"
}