forked from terraform-aws-modules/terraform-aws-ec2-instance
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvariables.tf
218 lines (177 loc) · 5.74 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
213
214
215
216
217
218
variable "name" {
description = "Name to be used on all resources as prefix"
}
variable "instance_count" {
description = "Number of instances to launch"
default = 1
}
variable "ami" {
description = "ID of AMI to use for the instance"
}
variable "placement_group" {
description = "The Placement Group to start the instance in"
default = ""
}
variable "tenancy" {
description = "The tenancy of the instance (if the instance is running in a VPC). Available values: default, dedicated, host."
default = "default"
}
variable "ebs_optimized" {
description = "If true, the launched EC2 instance will be EBS-optimized"
default = false
}
variable "disable_api_termination" {
description = "If true, enables EC2 Instance Termination Protection"
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
default = ""
}
variable "instance_type" {
description = "The type of instance to start"
}
variable "key_name" {
description = "The key name to use for the instance"
default = ""
}
variable "monitoring" {
description = "If true, the launched EC2 instance will have detailed monitoring enabled"
default = false
}
variable "vpc_security_group_ids" {
description = "A list of security group IDs to associate with"
type = "list"
}
variable "subnet_id" {
description = "The VPC Subnet ID to launch in"
type = "list"
}
variable "associate_public_ip_address" {
description = "If true, the EC2 instance will have associated public IP address"
default = false
}
variable "private_ip" {
description = "Private IP address to associate with the instance in a VPC"
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."
default = true
}
variable "user_data" {
description = "The user data to provide when launching the instance"
default = ""
}
variable "iam_instance_profile" {
description = "The IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile."
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."
default = 0
}
variable "ipv6_addresses" {
description = "Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface"
default = []
}
variable "tags" {
description = "A mapping of tags to assign to the resource"
default = {}
}
variable "volume_tags" {
description = "A mapping of tags to assign to the devices created by the instance at launch time"
default = {}
}
variable "root_block_device" {
description = "Customize details about the root block device of the instance. See Block Devices below for details"
default = []
}
variable "ebs_block_device" {
description = "Additional EBS block devices to attach to the instance"
default = []
}
variable "ephemeral_block_device" {
description = "Customize Ephemeral (also known as Instance Store) volumes on the instance"
default = []
}
variable "network_interface" {
description = "Customize network interfaces to be attached at instance boot time"
default = []
}
variable "cpu_credits" {
description = "The credit option for CPU usage (unlimited or standard)"
default = "standard"
}
variable "chef_role" {
description = "The top level role to assign to the instance"
default = ""
}
variable "chef_environment" {
description = "The Chef environment to put the instance in"
default = "_default"
}
variable "chef_organization" {
type = "string"
description = "The organization the instance will be bootstrapped against"
default = ""
}
variable "chef_user" {
type = "string"
description = "The Chef user/client that will be used to bootstrap the node"
default = ""
}
variable "chef_client_version" {
type = "string"
description = "the version of Chef to install on the node"
default = "14"
}
variable "chef_vault_json" {
description = "The json string to pass to chef-client's --bootstrap-vault-json flag"
default = ""
}
variable "ssh_private_key" {
type = "string"
description = "The private key used to ssh into the instance. Please use an S3 bucket!"
default = ""
}
variable "chef_secret_key" {
type = "string"
description = "The encrypted data_bag secret to use with Chef"
default = ""
}
variable "chef_user_key" {
type = "string"
description = "The private key associated to the Chef user used to bootstrap"
default = ""
}
variable "chef_server_url" {
type = "string"
description = "The url of your chef server"
default = ""
}
variable "default_system_user" {
type = "string"
description = "The system user to use when connecting to the instance"
default = ""
}
variable "bastion_host" {
type = "string"
description = "The hostname/addresse of the bastion instance to go through when SSHing"
default = ""
}
variable "bastion_user" {
type = "string"
description = "The system user to use when connecting to the bastion instance"
default = ""
}
variable "bastion_private_key" {
type = "string"
description = "The private key associated to the bastion user"
default = ""
}
variable "allocate_eip" {
type = "string"
description = "Do you want an EIP provisioned and allocated?"
default = "false"
}