Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Terraform Azure规则在我每次运行计划或应用时重新创建防火墙规则_Terraform_Firewall_Terraform Provider Azure - Fatal编程技术网

Terraform Azure规则在我每次运行计划或应用时重新创建防火墙规则

Terraform Azure规则在我每次运行计划或应用时重新创建防火墙规则,terraform,firewall,terraform-provider-azure,Terraform,Firewall,Terraform Provider Azure,我有一个Terraform模块,它在Azure中创建SQL server和防火墙规则 resource“azurerm\u sql\u server”“sqlServer”{ name=“sql server” resource\u group\u name=azurerm\u resource\u group.resourceGroup.name 位置=变量位置 version=“12.0” 管理员登录=“” 管理员登录密码=“” } 资源“azurerm\u sql\u数据库”“sqlDat

我有一个Terraform模块,它在Azure中创建SQL server和防火墙规则

resource“azurerm\u sql\u server”“sqlServer”{
name=“sql server”
resource\u group\u name=azurerm\u resource\u group.resourceGroup.name
位置=变量位置
version=“12.0”
管理员登录=“”
管理员登录密码=“”
}
资源“azurerm\u sql\u数据库”“sqlDatabase”{
name=“DbName”
resource\u group\u name=azurerm\u resource\u group.resourceGroup.name
位置=变量位置
server\u name=azurerm\u sql\u server.sqlServer.name
...
}
资源“azurerm\u sql\u防火墙\u规则”“防火墙”{
name=“防火墙”
resource\u group\u name=azurerm\u resource\u group.resourceGroup.name
server\u name=azurerm\u sql\u server.sqlServer.name
启动ip地址=“0.0.0.0”
end_ip_address=“0.0.0.0”
}
每次我运行plan或apply时,Terraform都会尝试创建这些防火墙规则(而不会破坏旧规则)。 输出:

\azurerm\u sql\u firewall\u rule.firewall将被创建
+资源“azurerm\u sql\u防火墙\u规则”“防火墙”{
+end_ip_address=“0.0.0.0”
+id=(应用后已知)
+name=“防火墙”
+资源组名称=“数据库”
+server\u name=“sql server”
+启动ip地址=“0.0.0.0”
}
这不是一个问题,因为规则存在,如果我运行该计划,规则已经存在,因此没有创建,但对于任何想要使用此terraform脚本的人来说,这是一个误导

还有其他人有这个吗?
感谢您的帮助

您使用的是什么版本的terraform?我无法使用terraform版本0.13.2和azurerm v2.30.0复制这一点。我得到了terraform 0.13,但这也发生在0.12上。Azurerm v2.26。我想,当我应用它时,它很好,但是我提交了状态文件,切换了分支或计算机,然后我得到了这个错误。我现在不明白,因为我很早就应用了更改。很奇怪。也许你想删除这个问题。所以,我做了更多的测试,当我编辑防火墙时,它会显示上面的输出。但它不会删除我的编辑。我已经向它添加了一个IP地址,现在计划显示了更改,即使“允许Azure访问”仍然是“是”。谢谢,你能给我一个答案吗?