azure - Terraform 变量的计数长度
问题描述
我们在 azure 中有一个标准的命名约定,但是为了有时能够产生异常,必须可以在调用模块时自己提供一个名称
如何在 count 中指示应该使用哪个变量 Var.Log Name 或 Local.ComponetName 以及我们如何将其传递给资源的名称
resource "azurerm_log_analytics_workspace" "LOG" {
count = length(var.LOG_Name) == "" ? length(local.ComponentNames) : null
name = var.LOG_Name[count.index] == "" ? local.ComponentNames[count.index] : null
resource_group_name = element(var.resourcegroup_name[*], count.index)
location = var.location
sku = var.LOG_Sku
retention_in_days = var.LOG_RetentionPeriod
}
解决方案
你真正要找的是循环。在循环中,您可以引用资源的名称,如果没有可用的此类资源,它将不会创建它们,这似乎是您在提及null
.
这是关于 terraform 中循环的一个很好的链接,它彻底解释了不同类型的循环以及如何使用它们:https ://blog.gruntwork.io/terraform-tips-tricks-loops-if-statements-and-gotchas-f739bbae55f9
推荐阅读
- reactjs - React useEffect() localhost API 获取不起作用
- spark-ar-studio - How to change the default person in the inbuilt simulator in Spark AR Studio?
- android - 为不同的主题配置不同的颜色
- laravel - Mockery 中的 Laravel 依赖注入
- reactjs - 在另一个组件中调用一个方法,该方法在 React 中返回一些值
- flutter - “ValueNotifier”+“ValueListenableBuilder”是否适用于 Flutter 中的“许多”小部件?
- sharepoint - Sharepoint:无法添加新的应用程序目录
- python - 如何在特定类别中创建 Discord 频道?
- java - 你能帮我解决我关于方法的代码吗?
- dialogflow-es - Dialogflow 客户端 API (NodeJS) 能否以无状态方式工作?