You can use count block with Conditional Expressions (condition ? true_val : false_val) to create a resource based on variable value.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
## Define some variable variable "condition1" { description = "default condition value is true." type = bool default = true } variable "condition2" { description = "default condition value is notcreate." type = string default = "notcreate" } variable "condition3" { description = "default condition value is 10" type = number default = 10 } ## Create resource based on condition resource "resource1" "rec1" { count = var.condition1 ? 1 : 0 ## count will evaluate to 1 .... .... } resource "resource2" "rec2" { count = var.condition2 == "notcreate" ? 0 : 1 ## count will evaluate to 0 .... .... } ## You can also combine multiple conditions resource "resource2" "rec2" { count = (var.condition1 || (var.condition2 == "create" && var.condition3 == 10)) ? 1 : 0 .... .... } |