简体   繁体   English

在 Terraform 中为带有条件的标签连接字符串

[英]Concatenate strings in Terraform for tags with condition

I am trying to give my EC2 instances tags as below我试图给我的 EC2 实例标签如下

resource "aws_instance" "EC2" {

  count = var.instance_count
  key_name               = var.key_name
  ami                    = var.ami
  instance_type          = var.instance_type
  vpc_security_group_ids  = [var.security_group_id]
  subnet_id              = split(",", var.subnet_id)[count.index]
  disable_api_termination = var.disable_api_termination
  instance_initiated_shutdown_behavior = var.instance_initiated_shutdown_behavior
   tags = {
     Name = var.instance_count != 1 ? "var.server_name-${count.index}" : var.server_name
   
  }
  
}

We want to merge the server_name and count.index.我们要合并 server_name 和 count.index。 If the server_name is smtp and instance_count is 1 then output should be smtp, or if instance_count is 2 then it should be smtp1 & smtp2如果 server_name 是 smtp 并且 instance_count 是 1 那么输出应该是 smtp,或者如果 instance_count 是 2 那么它应该是 smtp1 & smtp2

tags{
Name = var.instance_count !=1 ? "var.server_name-${count.index + 1}" : var.server_name
}

Output (for instance_count = 1):输出(例如 instance_count = 1):

Name = -

Please help.请帮忙。

我看到的唯一问题是它应该是(缺少${var.server_name} ):

var.instance_count !=1 ? "${var.server_name}-${count.index + 1}" : var.server_name

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM