如何从 azurerm_resource_group_template_deployment 读取 output_content
How to read output_content from azurerm_resource_group_template_deployment
我已经定义了一个 azurerm_resource_group_template_deployment my_rm,它有 ARM 模板源:
{
...
"parameters": {... },
"resources": [ ... ],
"outputs": {
"db_name": {
"type": "string",
"value": "test_value"
}
}
}
我想在 terraform 中使用此输出,例如:
output "db_name" {
value = azurerm_resource_group_template_deployment.my_rm.output_content["db_name"]
}
不幸的是上面的定义returns空值。
在 terraform 中定义输出的正确方法是什么?
output_content 导出 ARM 模板部署输出的 JSON 内容。
经过我的验证,你可以输出内容
output "db_name" {
value = azurerm_resource_group_template_deployment.my_rm.output_content
}
然后运行terraform apply
,你会看到输出的结果,然后你可以改用
过滤结果
output "db_name" {
value = jsondecode(azurerm_resource_group_template_deployment.my_rm.output_content).db_name.value
}
请注意,db_name
与您的地形代码中的声明 db_name
不同,它确实应该与上述第一步中的输出 JSON 键匹配。
例如,
我已经定义了一个 azurerm_resource_group_template_deployment my_rm,它有 ARM 模板源:
{
...
"parameters": {... },
"resources": [ ... ],
"outputs": {
"db_name": {
"type": "string",
"value": "test_value"
}
}
}
我想在 terraform 中使用此输出,例如:
output "db_name" {
value = azurerm_resource_group_template_deployment.my_rm.output_content["db_name"]
}
不幸的是上面的定义returns空值。
在 terraform 中定义输出的正确方法是什么?
output_content 导出 ARM 模板部署输出的 JSON 内容。
经过我的验证,你可以输出内容
output "db_name" {
value = azurerm_resource_group_template_deployment.my_rm.output_content
}
然后运行terraform apply
,你会看到输出的结果,然后你可以改用
output "db_name" {
value = jsondecode(azurerm_resource_group_template_deployment.my_rm.output_content).db_name.value
}
请注意,db_name
与您的地形代码中的声明 db_name
不同,它确实应该与上述第一步中的输出 JSON 键匹配。
例如,