variable "aws_region" {
  description = "AWS region to launch servers."
  default     = "us-east-1"
}

variable "environment" {
  description = "Which environment this is running in"
  default     = "dev"
  type        = string
}

variable "aws_stack_name" {
  description = "Stack name, will be used as DNS prefix, e.g. jenkins-chef"
  type        = string
}

variable "custom_ami_id" {
  description = "Custom AMI ID to use for launch template. This will override looking up the default"
  type        = string
  default     = ""
}

variable "vpc_id" {
  description = "ID of existing vpc"
  default     = "vpc-34dbfd51"
}

variable "additional_security_group_ids" {
  description = "List of additional security groups to attach to the instance"
  type        = list(string)
  default     = ["sg-869069f3"]
}

variable "additional_ssh_cidr_blocks" {
  description = "Additional CIDR blocks from which to allow ssh"
  type        = list(string)
  default     = []
}

variable "aws_asg_min_size" {
  description = "Minimal ASG size"
  default     = "1"
}

variable "aws_asg_max_size" {
  description = "Maximal ASG size"
  default     = "2"
}

variable "aws_asg_desired_capacity" {
  description = "Desired capacity for ASG"
  default     = "1"
}

variable "asg_suspended_processes" {
  description = "List of processes to suspend for the Auto Scaling Group."
  type        = list(string)
  default     = []
}

variable "vpc_private_subnet_ids" {
  description = "IDs for private subnets in VPC"
  type        = list(string)
}

variable "aws_instance_type" {
  description = "AWS instance type"
  default     = "t3.medium"
}

variable "aws_volume_size" {
  description = "AWS root volume size"
  default     = "40"
}

variable "root_volume_type" {
  default = "gp3"
}

variable "root_volume_throughput" {
  default = 125
}

variable "root_volume_iops" {
  default = 4000
}

variable "aws_key_name" {
  description = "Desired name of AWS key pair"
  default     = "orcd-dev"
}

variable "user_data" {
  description = "Plain-text user data"
  default     = ""
}

variable "ecr_ro_repositories" {
  description = "ECR repositories to which grant RO access"
  type        = list(string)
  default     = []
}

variable "additional_mount" {
  description = "Additional volumes to be created and mounted"
  type        = map(string)
  default = {
    "device" = "/dev/nvme1n1"
    "size"   = "500"
    "path"   = "/var/lib/docker"
  }
}

variable "existing_iam_role_name" {
  description = "Existing IAM role ARN to use for the instance"
  type        = string
  default     = null
}
