使用azurecaf生成多名称时,如何调用results输出并调试其结构?
调用azurecaf_name的results输出
azurecaf_name资源的results是键值对(map)结构,键对应你指定的资源类型(包括resource_type和resource_types列表中的所有项),值为生成的符合规范的Azure资源名称。
1. 在其他资源中引用
直接通过资源名称+.results["资源类型"]的方式调用,例如:
- 引用生成的资源组名称:
resource "azurerm_resource_group" "rg" { name = azurecaf_name.names.results["azurerm_resource_group"] location = var.resource_group_location }
- 引用生成的SQL数据库名称:
resource "azurerm_mssql_database" "db" { name = azurecaf_name.names.results["azurerm_mssql_database"] server_id = azurerm_mssql_server.example.id sku_name = "GP_Gen5_2" }
2. 查看results的结构
有两种简单方式可以查看results的具体结构:
- 方式一:使用Terraform控制台
执行命令:
terraform console
进入控制台后输入以下内容并回车,即可看到results的完整结构:
azurecaf_name.names.results
输出示例类似:
{ "azurerm_resource_group" = "dev-myapp-eastus-abcde" "azurerm_mssql_database" = "dev-myapp-eastus-abcde" }
- 方式二:定义输出变量
在项目中创建或修改outputs.tf,添加以下内容:
output "azurecaf_generated_names" { description = "Generated names from azurecaf provider" value = azurecaf_name.names.results }
执行terraform plan或terraform apply后,控制台会输出results的结构和具体值。
内容的提问来源于stack exchange,提问作者me.at.coding
相关产品推荐
相关产品推荐

