forked from terraform-aws-modules/terraform-aws-ec2-instance
-
Notifications
You must be signed in to change notification settings - Fork 0
/
variables.tf
212 lines (177 loc) · 5.99 KB
/
variables.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
variable "name" {
description = "Name to be used on all resources as prefix"
type = string
}
variable "instance_count" {
description = "Number of instances to launch"
type = number
default = 1
}
variable "ami" {
description = "ID of AMI to use for the instance"
type = string
}
variable "placement_group" {
description = "The Placement Group to start the instance in"
type = string
default = ""
}
variable "get_password_data" {
description = "If true, wait for password data to become available and retrieve it."
type = bool
default = false
}
variable "tenancy" {
description = "The tenancy of the instance (if the instance is running in a VPC). Available values: default, dedicated, host."
type = string
default = "default"
}
variable "ebs_optimized" {
description = "If true, the launched EC2 instance will be EBS-optimized"
type = bool
default = false
}
variable "disable_api_termination" {
description = "If true, enables EC2 Instance Termination Protection"
type = bool
default = false
}
variable "instance_initiated_shutdown_behavior" {
description = "Shutdown behavior for the instance" # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingInstanceInitiatedShutdownBehavior
type = string
default = ""
}
variable "instance_type" {
description = "The type of instance to start"
type = string
}
variable "key_name" {
description = "The key name to use for the instance"
type = string
default = ""
}
variable "monitoring" {
description = "If true, the launched EC2 instance will have detailed monitoring enabled"
type = bool
default = false
}
variable "vpc_security_group_ids" {
description = "A list of security group IDs to associate with"
type = list(string)
default = null
}
variable "subnet_id" {
description = "The VPC Subnet ID to launch in"
type = string
default = ""
}
variable "subnet_ids" {
description = "A list of VPC Subnet IDs to launch in"
type = list(string)
default = []
}
variable "associate_public_ip_address" {
description = "If true, the EC2 instance will have associated public IP address"
type = bool
default = null
}
variable "private_ip" {
description = "Private IP address to associate with the instance in a VPC"
type = string
default = null
}
variable "private_ips" {
description = "A list of private IP address to associate with the instance in a VPC. Should match the number of instances."
type = list(string)
default = []
}
variable "source_dest_check" {
description = "Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs."
type = bool
default = true
}
variable "user_data" {
description = "The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64 instead."
type = string
default = null
}
variable "user_data_base64" {
description = "Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption."
type = string
default = null
}
variable "iam_instance_profile" {
description = "The IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile."
type = string
default = ""
}
variable "ipv6_address_count" {
description = "A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet."
type = number
default = null
}
variable "ipv6_addresses" {
description = "Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface"
type = list(string)
default = null
}
variable "tags" {
description = "A mapping of tags to assign to the resource"
type = map(string)
default = {}
}
variable "enable_volume_tags" {
description = "Whether to enable volume tags (if enabled it conflicts with root_block_device tags)"
type = bool
default = true
}
variable "volume_tags" {
description = "A mapping of tags to assign to the devices created by the instance at launch time"
type = map(string)
default = {}
}
variable "root_block_device" {
description = "Customize details about the root block device of the instance. See Block Devices below for details"
type = list(any)
default = []
}
variable "ebs_block_device" {
description = "Additional EBS block devices to attach to the instance"
type = list(map(string))
default = []
}
variable "ephemeral_block_device" {
description = "Customize Ephemeral (also known as Instance Store) volumes on the instance"
type = list(map(string))
default = []
}
variable "network_interface" {
description = "Customize network interfaces to be attached at instance boot time"
type = list(map(string))
default = []
}
variable "cpu_credits" {
description = "The credit option for CPU usage (unlimited or standard)"
type = string
default = "standard"
}
variable "metadata_options" {
description = "Customize the metadata options of the instance"
type = map(string)
default = {}
}
variable "use_num_suffix" {
description = "Always append numerical suffix to instance name, even if instance_count is 1"
type = bool
default = false
}
variable "num_suffix_format" {
description = "Numerical suffix format used as the volume and EC2 instance name suffix"
type = string
default = "-%d"
}
variable "instance_availability_zone" {
description = "(Optional) AZ to start the instance in. "
default = null
type = string
}