如果条件为地形



我正在尝试根据环境创建不同的规则

对于资源

资源"aws_lb_listener_rule">

如果环境 == 产品 然后 操作 { 类型 ="重定向">

redirect {
host = "${var.}"
path = "/path"
port = "443"
protocol = "HTTPS"
status_code = "HTTP_302"
}

还 操作 { 类型 ="固定响应">

fixed_response {
content_type = "path"
status_code  = 503
message_body = "${data.template_file.xxx_html.rendered}"
}

}

我如何使用地形实现这样的事情?

terraform中的一般方法是使用资源count作为 if 语句来创建或不在该方案中创建资源。

仅当environment变量设置为prod时,才能将保存redirectaws_lb_listener_rule资源的计数设置为1值。

以下示例具有所需的效果。

resource "aws_lb_listener_rule" "production_redirect_listener" {
# Create this rule only if the environment variable is set to production
count = var.environment == "prod" ? 1 : 0
listener_arn = aws_lb_listener.arn
action {
type = "redirect"
redirect {
host = var.hostname
path = "/path"
port = "443"
protocol = "HTTPS"
status_code = "HTTP_302"
}
}
}
resource "aws_lb_listener_rule" "generic_fixed_response" {
# If the environment variable is set to production do NOT create this rule
count = var.environment == "prod" ? 0 : 1
listener_arn = aws_lb_listener.arn
action {
type = "fixed-response"
fixed_response {
content_type = "path"
status_code  = 503
message_body = data.template_file.xxx_html.rendered
}
}
}

相关内容

  • 没有找到相关文章

最新更新