我用var.sql_server_enable创建了带有启用/禁用选项的sql,但在输出方面遇到了问题。如果var.sql_server_enable为0,则azurerm_sql_server.sql_server.name将为null,我将得到以下错误。
resource "azurerm_sql_server" "sql_server" {
count = "${var.sql_server_enable ? 1 : 0}"
name = "${var.sql_server_name}"
resource_group_name = "${var.sql_server_resource_group_name}"
location = "${var.sql_server_location}"
version = "${var.sql_server_version}"
administrator_login = "${var.sql_server_admin_user}"
administrator_login_password = "${var.sql_server_admin_pass}"
}output "sql_server_name_output" {
value = "${var.sql_server_enable == "1" ? azurerm_sql_server.sql_server.name : var.null }"
}Error: Error running plan: 1 error occurred:
* module.hello.module.azure_sql_server_hello_staging.output.sql_server_name_output: Resource 'azurerm_sql_server.sql_server' not found for variable 'azurerm_sql_server.sql_server.name'发布于 2019-08-05 13:34:21
谢谢您的回答,但是在另一个模块上使用了sql_server_name_output变量。它需要string值。然后我使用var.null而不是null。在我听从你的建议后,我在下面又犯了一个错误。你还有其他建议吗?
Error: Inconsistent conditional result types
on ../modules/azure_sql_server/output.tf line 9, in output "sql_server_name_output":
9: value = "${var.sql_server_enable ? azurerm_sql_server.sql_server[*].name : var.null }"
|----------------
| azurerm_sql_server.sql_server is tuple with 1 element
| var.null is "null"
| var.sql_server_enable is true另一个需要azurerm_sql_server.sql_server的资源位于下面。
resource "azurerm_sql_firewall_rule" "sql_firewall_rule" {
count = "${var.sql_fw_enable == "1" ? 1 : 0}"
name = "${var.sql_fw_rule_name}"
resource_group_name = "${var.sql_fw_rule_resource_group_name}"
server_name = "${azurerm_sql_server.sql_server}"
start_ip_address = "${var.sql_fw_rule_start_ip}"
end_ip_address = "${var.sql_fw_rule_end_ip}"
}https://stackoverflow.com/questions/57352112
复制相似问题