Terraform,忽略特定的应用程序设置 azurerm
Terraform, Ignore specific app setting azurerm
我正在使用 Terraform,现在我的应用程序的所有应用程序设置都在填充,因为基础架构可能会发生变化。这样就全部自动了
但是,我的 linux 消费计划 Functions 应用程序有一个问题,该应用程序的应用程序设置需要在部署期间进行设置。 WEBSITE_RUN_FROM_PACKAGE 是在部署期间设置为 URL 的值。
我的问题是 terraform 将删除此值或将其设置为我设置的值。
如何让这个值在 Terraform 部署期间保持原样?
是从 azure 获取值还是忽略 terraform 中的值?
我找到了这个,但它似乎不适用于应用程序设置部分。
https://www.terraform.io/docs/configuration/resources.html#ignore_changes
我的测试:
resource "azurerm_function_app" "shipping-broker-msw-func" {
name = "shipping-broker-msw-func"
...
app_settings = {
...
"WEBSITE_RUN_FROM_PACKAGE" = "URL_Form_CD"
}
lifecycle {
ignore_changes = [
app_settings["WEBSITE_RUN_FROM_PACKAGE"],
]
}
}
来自 Terraform 文档:https://www.terraform.io/docs/configuration/resources.html#ignore_changes
看来原因是,当您第一次创建应用程序服务时,您需要包含密钥(可能带有虚拟值)以便稍后能够指定您想要忽略它。
如果您一开始没有包含密钥,您仍然可以稍后添加。因此,只需在您的配置中添加具有虚拟值的键,然后 ignore_changes
似乎就可以工作了。在我的例子中它起作用了。
我正在使用 Terraform,现在我的应用程序的所有应用程序设置都在填充,因为基础架构可能会发生变化。这样就全部自动了
但是,我的 linux 消费计划 Functions 应用程序有一个问题,该应用程序的应用程序设置需要在部署期间进行设置。 WEBSITE_RUN_FROM_PACKAGE 是在部署期间设置为 URL 的值。
我的问题是 terraform 将删除此值或将其设置为我设置的值。
如何让这个值在 Terraform 部署期间保持原样?
是从 azure 获取值还是忽略 terraform 中的值?
我找到了这个,但它似乎不适用于应用程序设置部分。
https://www.terraform.io/docs/configuration/resources.html#ignore_changes
我的测试:
resource "azurerm_function_app" "shipping-broker-msw-func" {
name = "shipping-broker-msw-func"
...
app_settings = {
...
"WEBSITE_RUN_FROM_PACKAGE" = "URL_Form_CD"
}
lifecycle {
ignore_changes = [
app_settings["WEBSITE_RUN_FROM_PACKAGE"],
]
}
}
来自 Terraform 文档:https://www.terraform.io/docs/configuration/resources.html#ignore_changes
看来原因是,当您第一次创建应用程序服务时,您需要包含密钥(可能带有虚拟值)以便稍后能够指定您想要忽略它。
如果您一开始没有包含密钥,您仍然可以稍后添加。因此,只需在您的配置中添加具有虚拟值的键,然后 ignore_changes
似乎就可以工作了。在我的例子中它起作用了。