Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.
description = "The ID of the AMI to run in the cluster. This should be an AMI built from the Packer template under examples/consul-ami/consul.json. To keep this example simple, we run the same AMI on both server and client nodes, but in real-world usage, your client nodes would also run your apps. If the default value is used, Terraform will look up the latest AMI build automatically."
type = string
default = null
}
variable"cluster_name"{
description = "What to name the Consul cluster and all of its associated resources"
type = string
default = "consul-example"
}
variable"num_servers"{
description = "The number of Consul server nodes to deploy. We strongly recommend using 3 or 5."
type = number
default = 3
}
variable"num_clients"{
description = "The number of Consul client nodes to deploy. You typically run the Consul client alongside your apps, so set this value to however many Instances make sense for your app code."
type = number
default = 2
}
variable"cluster_tag_key"{
description = "The tag the EC2 Instances will look for to automatically discover each other and form a cluster."
type = string
default = "consul-servers"
}
variable"vpc_az"{
type = list(string)
description = "VPC Availability Zone"
validation{
condition = length(var.vpc_az)==2
error_message = "VPC needs at least two Availability Zones for ALB to work."
}
}
variable"vpc_name"{
description = "Name of the VPC"
}
variable"vpc_cidr"{
description = "List of CIDR blocks for the VPC module"