# Copyright (c) HashiCorp, Inc. # SPDX-License-Identifier: BUSL-1.1 variable "vpc_id" { description = "The id of the existing VPC to be used for this module" type = string } variable "availability_zones" { description = "List of AWS availability zones to use (or * for all available)" type = list(string) default = ["*"] } variable "common_tags" { description = "Tags to set for all resources" type = map(string) default = { "Project" : "Enos" } } variable "kms_key_arn" { description = "ARN of KMS key used for SSHing to this module's instance" type = string } variable "ubuntu_ami_id" { description = "Ubuntu LTS AMI from the VPC this module will use" type = string } variable "worker_instance_type" { description = "The EC2 Instance type to be used for the worker's node" type = string default = "t2.small" } variable "ssh_aws_keypair" { description = "The name of the SSH keypair used to connect to EC2 instances" type = string } variable "worker_monitoring" { description = "Enable detailed monitoring for workers" type = bool default = false } variable "ebs_iops" { description = "EBS IOPS for the root volume" type = number default = null } variable "ebs_size" { description = "EBS volume size" type = number default = 8 } variable "ebs_type" { description = "EBS volume type" type = string default = "gp2" } variable "ebs_throughput" { description = "EBS data throughput (MiB/s) (only for gp2)" default = null } variable "boundary_artifactory_release" { description = "Boundary release, version, and edition to install from artifactory.hashicorp.engineering" type = object({ username = string token = string url = string sha256 = string }) default = null } variable "local_artifact_path" { description = "The path to a local boundary.zip" type = string default = null } variable "boundary_release" { description = "Boundary release, version, and edition to install from releases.hashicorp.com" type = object({ version = string }) default = null } variable "boundary_install_dir" { description = "The remote directory where the Boundary binary will be installed" type = string default = "/opt/boundary/bin" } variable "name_prefix" { description = "The name_prefix from the Boundary cluster module" type = string } variable "cluster_tag" { description = "The cluster_tag from the Boundary cluster module" type = string } variable "worker_type_tags" { description = "A list of tags to add in the worker's configuration file" type = list(string) default = ["prod", "webservers"] } variable "controller_addresses" { description = "A list of addresses that will be used as initial_upstreams in the worker's configuration" type = list(string) } variable "controller_sg_id" { description = "The controllers' security group ID for adding rules allowing this worker to communicate with them" type = string } variable "config_file_path" { description = "Path to a config file (relative to module directory)" type = string default = "templates/worker.hcl" } variable "recording_storage_path" { description = "Path on instance to store recordings" type = string default = "" } variable "bucket_arn" { description = "ARN of the S3 bucket to store recordings" type = string default = "" } variable "vpc_cidr" { description = "cidr subnet of the vpc created for the enos scenario" type = string nullable = true default = null } variable "vpc_cidr_ipv6" { description = "ipv6 cidr subnet of the vpc created for the enos scenario" type = string nullable = true default = null } variable "ip_version" { description = "ip version used to setup boundary instance, should be 4, 6, or dual" type = string default = "4" validation { condition = contains(["4", "6", "dual"], var.ip_version) error_message = "ip_version must be one of: [4, 6, dual]" } } variable "vault_address" { description = "network address to a vault instance" type = string default = "localhost" } variable "vault_transit_token" { description = "vault token used for kms transit in the boundary config" type = string default = "" }