Reputation: 79
I Got a syntax problem with terraform:
Let me write some pseudo code to descript the problem as the line is a bit complicated:
I would like to have display_name equal to force_name when defined.
And if not defined I would like to have name_prefix**-01**
Now the -XX suffix is always added in both case, and I can't enclose it correctly to add it in the else clause.
What I tried: I've tried many enclosing {} "" () in differents places.
resource "exoscale_compute" "generic" {
count = "${var.replicas}"
affinity_groups = "${var.affinity_group}"
disk_size = "${var.disk_size}"
display_name = "${var.force_name != "" ? var.force_name : var.name_prefix}-${format("%02d", count.index + var.replicas_index_start) }
The issue:
The output is always forcedname**-01** or nameprefix**-01**
What I'd like would be:
forcedname or nameprefix-01
Could you help ? Thanks
Upvotes: 2
Views: 52
Reputation: 32212
You can nest the interpolation, so the 2nd option for the ?: operator becomes another string with more interpolation:
display_name = "${var.force_name != "" ? var.force_name : "${var.name_prefix}-${format("%02d", count.index + var.replicas_index_start)}" }
Upvotes: 1