我有一个VNET /应用服务集成要求。这需要创建一个VPN网关。
集成完成后,将证书(由App Service生成)与VPN网关的点对点配置相关联。
如果由于需要执行一些更改而需要再次运行terraform,它将检测到VPN网关必须销毁,因为在Azure中它具有证书!
我考虑过在VPN网关资源上使用count参数,但是如果我根据变量将count设置为0,则会遇到相同的问题。
有什么建议吗?
答案 0 :(得分:1)
尝试在资源的生命周期中添加django.urls import resolve
语句。这是我在某些情况下使用的示例:
ignore_changes
在资源定义中对其进行如下设置(只是为了了解如何将其放入定义中):
lifecycle {
ignore_changes = [
"user_data",
"instance_type",
"root_block_device.0.volume_size",
"ebs_optimized",
"tags",
]
}
现在,在resource "aws_instance" "worker_base" {
count = "..."
instance_type = "..."
user_data = "..."
lifecycle {
ignore_changes = [
"user_data",
"instance_type",
"root_block_device.0.volume_size",
"ebs_optimized",
"tags",
]
}
tags = {
Name = "..."
}
root_block_device {
delete_on_termination = ..
volume_size = "..."
volume_type = "..."
}
}
输出中,您应该看到已更改的参数,因此需要新的资源。尝试在terraform plan
列表中进行设置...