我在TF中有这段代码,用于创建App Insight资源。创建App Insight的名称是由我们的内部名称模块完成的。App Insight名称的输出格式为--> (资源组名称)-(您自己的定制值)-dev-cus-001现在我们有3个App Insight资源,其中3个定制值定义在Locals块中,如下所示:
locals {
application-insights = [
"masterdata",
"inboundintegration",
"intgr-func",
]
}
module "names-application-insights" {
version = "~> 1.0"
source = "My Module URL"
for_each = toset(local.application-insights)
resource_type = "application-insights"
resource_location = var.resource_group_location
resource_environment = var.resource_group_environment
resource_name = format("%s-%s", var.resource_group_name, each.value)
resource_count = var.resource_group_count
}
resource "azurerm_application_insights" "default" {
for_each = toset(local.application-insights)
location = data.azurerm_resource_group.default.location
resource_group_name = data.azurerm_resource_group.default.name
name = module.names-application-insights[each.value].results
application_type = "web"
}现在我被要求从第一个App Insight资源的名称中删除自定义值"masterdata“:(rg)-masterdata-dev-cus-001,那么我如何从一个App Insights中删除"masterdata”值,并确保使用两个本地变量创建的另外两个App Insights:"inboundintegration“和"intgr-func”不受影响如果我从Locals块中删除第一个自定义值"masterdata“,那么如果我在从Locals中删除该值后运行代码,将会抛出错误?那么如何编辑这个资源名称呢?
发布于 2021-04-22 10:08:18
正如我所看到的,您使用for_each来创建应用程序洞察。那么您唯一能做的就是从本地变量中删除自定义值masterdata,这样就不会影响其他两个资源了。这意味着您将只创建两个名称为"inboundintegration“和"intgr-func”的应用程序洞察。
https://stackoverflow.com/questions/67198553
复制相似问题