github.com/tetrafolium/tflint@v0.8.0/tflint/test-fixtures/v0.11.0_module/.terraform/modules/bc6c4d9a36f214ac3fefd950422c4c24/variables.tf (about) 1 # --------------------------------------------------------------------------------------------------------------------- 2 # REQUIRED PARAMETERS 3 # You must provide a value for each of these parameters. 4 # --------------------------------------------------------------------------------------------------------------------- 5 6 variable "cluster_name" { 7 description = "The name of the Consul cluster (e.g. consul-stage). This variable is used to namespace all resources created by this module." 8 } 9 10 variable "ami_id" { 11 description = "The ID of the AMI to run in this cluster. Should be an AMI that had Consul installed and configured by the install-consul module." 12 } 13 14 variable "instance_type" { 15 description = "The type of EC2 Instances to run for each node in the cluster (e.g. t2.micro)." 16 } 17 18 variable "vpc_id" { 19 description = "The ID of the VPC in which to deploy the Consul cluster" 20 } 21 22 variable "allowed_inbound_cidr_blocks" { 23 description = "A list of CIDR-formatted IP address ranges from which the EC2 Instances will allow connections to Consul" 24 type = "list" 25 } 26 27 variable "user_data" { 28 description = "A User Data script to execute while the server is booting. We remmend passing in a bash script that executes the run-consul script, which should have been installed in the Consul AMI by the install-consul module." 29 } 30 31 # --------------------------------------------------------------------------------------------------------------------- 32 # OPTIONAL PARAMETERS 33 # These parameters have reasonable defaults. 34 # --------------------------------------------------------------------------------------------------------------------- 35 36 variable "cluster_size" { 37 description = "The number of nodes to have in the Consul cluster. We strongly recommended that you use either 3 or 5." 38 default = 3 39 } 40 41 variable "cluster_tag_key" { 42 description = "Add a tag with this key and the value var.cluster_tag_value to each Instance in the ASG. This can be used to automatically find other Consul nodes and form a cluster." 43 default = "consul-servers" 44 } 45 46 variable "cluster_tag_value" { 47 description = "Add a tag with key var.clsuter_tag_key and this value to each Instance in the ASG. This can be used to automatically find other Consul nodes and form a cluster." 48 default = "auto-join" 49 } 50 51 variable "subnet_ids" { 52 description = "The subnet IDs into which the EC2 Instances should be deployed. We recommend one subnet ID per node in the cluster_size variable. At least one of var.subnet_ids or var.availability_zones must be non-empty." 53 type = "list" 54 default = [] 55 } 56 57 variable "availability_zones" { 58 description = "The availability zones into which the EC2 Instances should be deployed. We recommend one availability zone per node in the cluster_size variable. At least one of var.subnet_ids or var.availability_zones must be non-empty." 59 type = "list" 60 default = [] 61 } 62 63 variable "ssh_key_name" { 64 description = "The name of an EC2 Key Pair that can be used to SSH to the EC2 Instances in this cluster. Set to an empty string to not associate a Key Pair." 65 default = "" 66 } 67 68 variable "allowed_ssh_cidr_blocks" { 69 description = "A list of CIDR-formatted IP address ranges from which the EC2 Instances will allow SSH connections" 70 type = "list" 71 default = [] 72 } 73 74 variable "allowed_ssh_security_group_ids" { 75 description = "A list of security group IDs from which the EC2 Instances will allow SSH connections" 76 type = "list" 77 default = [] 78 } 79 80 variable "allowed_inbound_security_group_ids" { 81 description = "A list of security group IDs that will be allowed to connect to Consul" 82 type = "list" 83 default = [] 84 } 85 86 variable "termination_policies" { 87 description = "A list of policies to decide how the instances in the auto scale group should be terminated. The allowed values are OldestInstance, NewestInstance, OldestLaunchConfiguration, ClosestToNextInstanceHour, Default." 88 default = "Default" 89 } 90 91 variable "associate_public_ip_address" { 92 description = "If set to true, associate a public IP address with each EC2 Instance in the cluster." 93 default = false 94 } 95 96 variable "tenancy" { 97 description = "The tenancy of the instance. Must be one of: default or dedicated." 98 default = "default" 99 } 100 101 variable "root_volume_ebs_optimized" { 102 description = "If true, the launched EC2 instance will be EBS-optimized." 103 default = false 104 } 105 106 variable "root_volume_type" { 107 description = "The type of volume. Must be one of: standard, gp2, or io1." 108 default = "standard" 109 } 110 111 variable "root_volume_size" { 112 description = "The size, in GB, of the root EBS volume." 113 default = 50 114 } 115 116 variable "root_volume_delete_on_termination" { 117 description = "Whether the volume should be destroyed on instance termination." 118 default = true 119 } 120 121 variable "target_group_arns" { 122 description = "A list of target group ARNs of Application Load Balanacer (ALB) targets to associate with this ASG. If you're using a Elastic Load Balancer (AKA ELB Classic), use the load_balancers variable instead." 123 type = "list" 124 default = [] 125 } 126 127 variable "load_balancers" { 128 description = "A list of Elastic Load Balancer (ELB) names to associate with this ASG. If you're using an Application Load Balancer (ALB), use the target_group_arns variable instead." 129 type = "list" 130 default = [] 131 } 132 133 variable "wait_for_capacity_timeout" { 134 description = "A maximum duration that Terraform should wait for ASG instances to be healthy before timing out. Setting this to '0' causes Terraform to skip all Capacity Waiting behavior." 135 default = "10m" 136 } 137 138 variable "health_check_type" { 139 description = "Controls how health checking is done. Must be one of EC2 or ELB." 140 default = "EC2" 141 } 142 143 variable "health_check_grace_period" { 144 description = "Time, in seconds, after instance comes into service before checking health." 145 default = 300 146 } 147 148 variable "instance_profile_path" { 149 description = "Path in which to create the IAM instance profile." 150 default = "/" 151 } 152 153 variable "server_rpc_port" { 154 description = "The port used by servers to handle incoming requests from other agents." 155 default = 8300 156 } 157 158 variable "cli_rpc_port" { 159 description = "The port used by all agents to handle RPC from the CLI." 160 default = 8400 161 } 162 163 variable "serf_lan_port" { 164 description = "The port used to handle gossip in the LAN. Required by all agents." 165 default = 8301 166 } 167 168 variable "serf_wan_port" { 169 description = "The port used by servers to gossip over the WAN to other servers." 170 default = 8302 171 } 172 173 variable "http_api_port" { 174 description = "The port used by clients to talk to the HTTP API" 175 default = 8500 176 } 177 178 variable "dns_port" { 179 description = "The port used to resolve DNS queries." 180 default = 8600 181 } 182 183 variable "ssh_port" { 184 description = "The port used for SSH connections" 185 default = 22 186 }