172 lines
5.1 KiB
HCL
Executable File

variable "region" {
type = string
description = "AWS Region"
}
variable "availability_zones" {
type = list(string)
}
variable "vpc_cidr_block" {
type = string
description = "VPC CIDR block"
}
variable "prefix" {
type = string
description = "Namespace, which could be your organization name, e.g. 'eg' or 'cp'"
}
variable "stage" {
type = string
description = "Stage, e.g. 'prod', 'staging', 'dev' or 'testing'"
}
variable "name" {
type = string
description = "Solution name, e.g. 'app' or 'cluster'"
}
variable "delimiter" {
type = string
default = "-"
description = "Delimiter to be used between `name`, `namespace`, `stage`, etc."
}
variable "attributes" {
type = list(string)
default = []
description = "Additional attributes (e.g. `1`)"
}
variable "tags" {
type = map(string)
default = {}
description = "Additional tags (e.g. `map('BusinessUnit`,`XYZ`)"
}
### Bastion Server Settings ###
variable "bastion_instance_type" {
type = string
description = "EC2 type for bastion"
}
variable "bastion_ami" {
type = string
}
variable "keyname" {
type = string
default = ""
}
variable "public_keyname" {
default = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDboPfi18b0We79c6mqQui+iPPL0KqUWIdm02hb6RyQ67buYPik6KRAin8hiwvgVHyBF3sdnDsaP9snSFq2QQXUtdB5MxHplIJSbdd/oREtTXHCc9OfhGEuJDqQ8ViHj1ApYlLNIohHAhJkVywkpMhLUHqLZ2DXhwVjM9XDHx0aoImwcyczzU9e4T8jtvLB+PlDRNxvCrKuf6Ir6sd1u9vHWQYR4kV61T3Z/VaeRPSF5Y50IF5ECTrNoQeR0NSRIrY6g4/hZzMisLxpybtO44jkZ7OPVwhAjfZgTTZYnrrSkdoL8HYbaEuKZC/WPvoCOfq5eF4ydpwUQomzeCD9pnOX pderuiter@MacBook-Pro-van-Patrick.local"
}
variable "security_groups" {
type = list(string)
description = "List of Security Group IDs allowed to connect to the bastion host"
}
variable "user_data" {
type = list(string)
default = []
description = "User data content"
}
variable "root_block_device_encrypted" {
type = bool
default = false
description = "Whether to encrypt the root block device"
}
variable "root_block_device_volume_size" {
type = number
default = 8
description = "The volume size (in GiB) to provision for the root block device. It cannot be smaller than the AMI it refers to."
}
variable "metadata_http_endpoint_enabled" {
type = bool
default = true
description = "Whether the metadata service is available"
}
variable "metadata_http_put_response_hop_limit" {
type = number
default = 1
description = "The desired HTTP PUT response hop limit (between 1 and 64) for instance metadata requests."
}
variable "metadata_http_tokens_required" {
type = bool
default = false
description = "Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2."
}
variable "associate_public_ip_address" {
type = bool
default = true
description = "Whether to associate public IP to the instance."
}
### Kubernetes Settings ###
variable "kubernetes_version" {
type = string
default = null
description = "Desired Kubernetes master version. If you do not specify a value, the latest available version is used"
}
variable "desired_size" {
type = number
description = "Desired number of worker nodes"
}
variable "max_size" {
type = number
description = "The maximum size of the AutoScaling Group"
}
variable "min_size" {
type = number
description = "The minimum size of the AutoScaling Group"
}
variable "oidc_provider_enabled" {
type = bool
default = true
description = "Create an IAM OIDC identity provider for the cluster, then you can create IAM roles to associate with a service account in the cluster, instead of using kiam or kube2iam. For more information, see https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html"
}
variable "kubeconfig_path" {
type = string
description = "The path to `kubeconfig` file"
}
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"
}
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"
}
variable "kubernetes_namespace" {
type = string
default = "kube-apps"
description = "Kubernetes namespace to run your fargate workloads on"
}
variable "aws_eks_update_kubeconfig_additional_arguments" {
type = string
default = null
description = "Additional arguments for `aws eks update-kubeconfig` command, e.g. `--role-arn xxxxxxxxx`. For more info, see https://docs.aws.amazon.com/cli/latest/reference/eks/update-kubeconfig.html"
}