Uses Spot Only When Cost Is Configured

This commit is contained in:
2024-12-17 20:03:47 -03:00
parent c82cffbe6d
commit 773a05a108
3 changed files with 12 additions and 9 deletions

View File

@@ -35,7 +35,7 @@ variable "aws_ami" {
variable "aws_spot_price" {
type = number
default = 0.0028
default = 0
}
variable "ssh_public_key_main" {

View File

@@ -115,13 +115,16 @@ resource "aws_instance" "worker" {
instance_type = var.aws_instance_type
vpc_security_group_ids = [aws_security_group.project_pool.id]
count = var.number_of_workers
instance_market_options {
market_type = "spot"
spot_options {
max_price = var.aws_spot_price
instance_interruption_behavior = "stop"
spot_instance_type = "persistent"
dynamic "instance_market_options" {
for_each = var.aws_spot_price != 0 ? [var.aws_spot_price] : []
content {
market_type = "spot"
spot_options {
max_price = instance_market_options.value
instance_interruption_behavior = "stop"
spot_instance_type = "persistent"
}
}
}