我有一个usageplan我打算建立或取决于其将具有的值的真/假可变mantanance_mode未创建。以下代码可以正常工作。
resource "aws_api_gateway_usage_plan" "usageplan" {
name = "${var.environment}-usage-plan"
count = "${var.mantanance_mode == true ? 1 : 0}"
api_stages {
api_id = "${aws_api_gateway_rest_api.api_gateway.id}"
stage = "${aws_api_gateway_stage.api_gateway_stage.stage_name}"
}
}
但是当我尝试以以下方式使用它时,它根本不起作用。
security_group_id = "${var.mantanance_mode == true ? aws_security_group.allow_ssh_from_office_sg.id : aws_security_group.lambda_sg.id}"
答案 0 :(得分:0)
这是值得使用条件运算符以下列方式作为文件https://www.terraform.io/docs/configuration/interpolation.html,而不是如果你使用"some_value"
比较它铁定工作只用布尔true或false描述。
security_group_id = "${var.mantanance_mode == "true" ? aws_security_group.allow_ssh_from_office_sg.id : aws_security_group.lambda_sg.id}"
resource "aws_api_gateway_usage_plan" "usageplan" {
name = "${var.environment}-usage-plan"
count = "${var.mantanance_mode == "true" ? 1 : 0}"
api_stages {
api_id = "${aws_api_gateway_rest_api.api_gateway.id}"
stage = "${aws_api_gateway_stage.api_gateway_stage.stage_name}"
}
}