编辑 Application Insight Terraform 资源名称
Editing Application Insight Terraform Resource Name
我在 TF 中有这段代码用于创建 App Insight 资源。
用于创建 App Insight 的名称由我们的内部名称模块完成。
App Insight 名称的输出格式为 -->
(资源组名称)-(您自己的自定义值)-dev-cus-001
现在我们有 3 个 App Insight 资源,在 Locals 块中定义了 3 个自定义值,如下所示:
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 中删除该值后的代码,它会正确抛出错误?
那么如何编辑这个资源名称。
据我所知,您使用 for_each 来创建应用程序见解。那么你唯一能做的就是从 Locals 中删除自定义值 masterdata
并且它不会影响其他两个资源。这意味着您将只创建两个名为“inboundintegration”和“intgr-func”的应用程序见解。
我在 TF 中有这段代码用于创建 App Insight 资源。 用于创建 App Insight 的名称由我们的内部名称模块完成。 App Insight 名称的输出格式为 --> (资源组名称)-(您自己的自定义值)-dev-cus-001 现在我们有 3 个 App Insight 资源,在 Locals 块中定义了 3 个自定义值,如下所示:
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 中删除该值后的代码,它会正确抛出错误? 那么如何编辑这个资源名称。
据我所知,您使用 for_each 来创建应用程序见解。那么你唯一能做的就是从 Locals 中删除自定义值 masterdata
并且它不会影响其他两个资源。这意味着您将只创建两个名为“inboundintegration”和“intgr-func”的应用程序见解。