diff --git a/aws/ig/main.tf b/aws/ig/main.tf index 13ea4ab..d09bc76 100644 --- a/aws/ig/main.tf +++ b/aws/ig/main.tf @@ -26,6 +26,11 @@ locals { taints = length(var.taints) > 0 ? var.taints : null subnets = var.subnets hooks = length(var.hooks) > 0 ? var.hooks : null + warmPool = var.warm-pool != null ? { + minSize = var.warm-pool.min-size + maxSize = var.warm-pool.max-size + enableLifecycleHook = var.warm-pool.enable-lifecycle-hook + } : null rollingUpdate = { maxSurge = var.rolling-update.max-surge maxUnavailable = var.rolling-update.max-unavailable diff --git a/aws/ig/variables.tf b/aws/ig/variables.tf index f27b4f8..dd32d7e 100644 --- a/aws/ig/variables.tf +++ b/aws/ig/variables.tf @@ -112,7 +112,7 @@ variable "max-price" { type = string description = "If set, this group will use spot instances with the specified max-price" - default = "" + nullable = true } variable "hooks" { @@ -177,3 +177,14 @@ variable "rolling-update" { max-unavailable = 0 } } + +variable "warm-pool" { + type = object({ + min-size = number + max-size = number + enable-lifecycle-hook = bool + }) + description = "AWS WarmPool to get pre-initialized EC2 instances." + + nullable = true +}