125 lines
3.9 KiB
HCL
Executable File

variable "namespace" {
type = string
description = "Namespace, which could be your organization name, e.g. 'eg' or 'cp'"
default = ""
}
variable "stage" {
type = string
description = "Stage, e.g. 'prod', 'staging', 'dev', or 'test'"
default = ""
}
variable "name" {
type = string
description = "Solution name, e.g. 'app' or 'cluster'"
}
variable "delimiter" {
type = string
default = "-"
description = "Delimiter to be used between `namespace`, `stage`, `name` and `attributes`"
}
variable "attributes" {
type = list(string)
default = []
description = "Additional attributes (e.g. `1`)"
}
variable "tags" {
type = map(string)
default = {}
description = "Additional tags (e.g. `{ BusinessUnit = \"XYZ\" }`"
}
variable "enabled" {
type = bool
description = "Whether to create the resources. Set to `false` to prevent the module from creating any resources"
default = true
}
variable "cluster_name" {
type = string
description = "The name of the EKS cluster"
}
variable "ec2_ssh_key" {
type = string
description = "SSH key name that should be used to access the worker nodes"
default = null
}
variable "desired_size" {
type = number
description = "Desired number of worker nodes"
}
variable "max_size" {
type = number
description = "Maximum number of worker nodes"
}
variable "min_size" {
type = number
description = "Minimum number of worker nodes"
}
variable "subnet_ids" {
description = "A list of subnet IDs to launch resources in"
type = list(string)
}
variable "existing_workers_role_policy_arns" {
type = list(string)
default = []
description = "List of existing policy ARNs that will be attached to the workers default role on creation"
}
variable "existing_workers_role_policy_arns_count" {
type = number
default = 0
description = "Count of existing policy ARNs that will be attached to the workers default role on creation. Needed to prevent Terraform error `count can't be computed`"
}
variable "ami_type" {
type = string
description = "Type of Amazon Machine Image (AMI) associated with the EKS Node Group. Defaults to `AL2_x86_64`. Valid values: `AL2_x86_64`, `AL2_x86_64_GPU`. Terraform will only perform drift detection if a configuration value is provided"
default = "AL2_x86_64"
}
variable "disk_size" {
type = number
description = "Disk size in GiB for worker nodes. Defaults to 20. Terraform will only perform drift detection if a configuration value is provided"
default = 20
}
variable "instance_types" {
type = list(string)
description = "Set of instance types associated with the EKS Node Group. Defaults to [\"t3.medium\"]. Terraform will only perform drift detection if a configuration value is provided"
}
variable "kubernetes_labels" {
type = map(string)
description = "Key-value mapping of Kubernetes labels. Only labels that are applied with the EKS API are managed by this argument. Other Kubernetes labels applied to the EKS Node Group will not be managed"
default = {}
}
variable "ami_release_version" {
type = string
description = "AMI version of the EKS Node Group. Defaults to latest version for Kubernetes version"
default = null
}
variable "kubernetes_version" {
type = string
description = "Kubernetes version. Defaults to EKS Cluster Kubernetes version. Terraform will only perform drift detection if a configuration value is provided"
default = null
}
variable "source_security_group_ids" {
type = list(string)
default = []
description = "Set of EC2 Security Group IDs to allow SSH access (port 22) from on the worker nodes. If you specify `ec2_ssh_key`, but do not specify this configuration when you create an EKS Node Group, port 22 on the worker nodes is opened to the Internet (0.0.0.0/0)"
}