gpt4 book ai didi

azure - 使用 AzureRM 提供程序从 terraform_remote_state 读取

转载 作者:行者123 更新时间:2023-12-05 06:27:05 25 4
gpt4 key购买 nike

我正在尝试在一个模块中部署 VNET,并将远程状态的子网 ID 存储在 Azure Blob 存储中。

我发现我的输出似乎已正确存储在远程状态 blob 中。

当我尝试读取另一个模块中的子网 ID 时出现问题

terraform {
backend "azurerm" {
storage_account_name = "mystorage"
container_name = "tfstate"
key = "terraform.tfstate"

}
}

resource "azurerm_subnet" "defaultsubnet" {
name = "default"
address_prefix = "10.10.1.0/24"
resource_group_name = "my-rg"
virtual_network_name = "my-vnet"
}

output "id" {
value = "${azurerm_subnet.defaultsubnet.id}"
}
"outputs": {
"id": {
"sensitive": false,
"type": "string",
"value": "/subscriptions/***/resourceGroups/my-rg/providers/Microsoft.Network/virtualNetworks/my-vnet/subnets/default"
},
data "terraform_remote_state" "sub" {
backend = "azurerm"
config = {
storage_account_name = "mystorage"
container_name = "tfstate"
key = "terraform.tfstate"

}
}

resource "azurerm_kubernetes_cluster" "aks" {
.....
agent_pool_profile {
vnet_subnet_id = "${data.terraform_remote_state.sub.id}"
}
}

vnet_subnet_id = "${data.terraform_remote_state.sub.id}"

此行失败并显示以下消息:

Error running plan: 1 error(s) occurred:\n\n* azurerm_kubernetes_cluster.aks: Can not parse \"agent_pool_profile.0.vnet_subnet_id\" as a resource id: Cannot parse Azure ID: parse 2019-04-09 15:21:55.916021 +0000 UTC: invalid URI for request\n\n\n"}

它以某种方式将子网 ID 转换为日期。甚至认为我在这里发现了类似的问题https://github.com/hashicorp/terraform/issues/20147我仍然无法将该解决方法应用于我的案例。

最佳答案

如果可能,您应该避免使用远程状态数据源并使用不利于您的提供商的 native 数据源。

在这种情况下,您应该使用 azurerm_subnet data source相反:

data "azurerm_subnet" "subnet" {
name = "default"
virtual_network_name = "my-vnet"
resource_group_name = "my-rg"
}

resource "azurerm_kubernetes_cluster" "aks" {
#...
agent_pool_profile {
vnet_subnet_id = "${data.azurerm_subnet.subnet.id}"
}
}

关于azure - 使用 AzureRM 提供程序从 terraform_remote_state 读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55596343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com