如何从azurerm\u资源\u组\u模板\u部署中读取输出内容
我已经定义了一个azurerm\u资源组\u模板\u部署my\u rm,它具有ARM模板源:如何从azurerm\u资源\u组\u模板\u部署中读取输出内容,azure,terraform,terraform-provider-azure,Azure,Terraform,Terraform Provider Azure,我已经定义了一个azurerm\u资源组\u模板\u部署my\u rm,它具有ARM模板源: { ... "parameters": {... }, "resources": [ ... ], "outputs": { "db_name": { "type": "string", "value": &qu
{
...
"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"]
}
不幸的是,上面的定义返回空值
在terraform中定义输出的正确方法是什么?导出ARM模板部署输出的JSON内容
在我的验证之后,您可以使用
output "db_name" {
value = azurerm_resource_group_template_deployment.my_rm.output_content
}
然后运行terraformapply
,您将看到输出结果,然后您可以更改为使用过滤结果
output "db_name" {
value = jsondecode(azurerm_resource_group_template_deployment.my_rm.output_content).db_name.value
}
请注意,db_name
与terraform代码中的声明不同,它确实应该与上面第一步中的输出JSON键相匹配
比如说,