forked from plus3it/terraform-aws-watchmaker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvariables.tf
184 lines (153 loc) · 5.83 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
# ------------------------------------------------------------------------------------------------------------------------
# This file contains variables associated with the Linux instance Terraform module. It is only for example purposes
# as part of the root 'main.tf'. For other modules, use the accompanying 'variables.tf' file in that subdirectory.
# ------------------------------------------------------------------------------------------------------------------------
variable "Name" {
type = string
description = "(Required) Name of CloudFormation Stack"
}
variable "AmiId" {
type = string
description = "(Required) ID of the AMI to launch"
}
variable "AmiDistro" {
type = string
description = "(Required) Linux distro of the AMI"
}
variable "AppScriptParams" {
type = string
description = "(Optional) Parameter string to pass to the application script. Ignored if AppScriptUrl is blank"
default = null
}
variable "AppScriptShell" {
type = string
description = "(Optional) Shell with which to execute the application script. Ignored if AppScriptUrl is blank"
default = "bash"
}
variable "AppScriptUrl" {
type = string
description = "(Optional) S3 URL to the application script in an S3 bucket (s3://). Leave blank to launch without an application script. If specified, an appropriate InstanceRole is required"
default = null
}
variable "AppVolumeDevice" {
type = string
description = "(Optional) Device to mount an extra EBS volume. Leave blank to launch without an extra application volume"
default = null
}
variable "AppVolumeMountPath" {
type = string
description = "(Optional) Filesystem path to mount the extra app volume. Ignored if AppVolumeDevice is blank"
default = "/opt/data"
}
variable "AppVolumeType" {
type = string
description = "(Optional) Type of EBS volume to create. Ignored if AppVolumeDevice is blank"
default = "gp2"
}
variable "AppVolumeSize" {
type = string
description = "(Optional) Size in GB of the EBS volume to create. Ignored if AppVolumeDevice is blank"
default = "1"
}
variable "KeyPairName" {
type = string
description = "(Required) Public/private key pairs allow you to securely connect to your instance after it launches"
}
variable "InstanceType" {
type = string
description = "(Optional) Amazon EC2 instance type"
default = "t2.micro"
}
variable "InstanceRole" {
type = string
description = "(Optional) IAM instance role to apply to the instance"
default = null
}
variable "PrivateIp" {
type = string
description = "(Optional) Set a static, primary private IP. Leave blank to auto-select a free IP"
default = null
}
variable "NoPublicIp" {
type = bool
description = "(Optional) Controls whether to assign the instance a public IP. Recommended to leave at true _unless_ launching in a public subnet"
default = true
}
variable "NoReboot" {
type = bool
description = "(Optional) Controls whether to reboot the instance as the last step of cfn-init execution"
default = false
}
variable "NoUpdates" {
type = bool
description = "(Optional) Controls whether to run yum update during a stack update (On the initial instance launch, Watchmaker _always_ installs updates)"
default = false
}
variable "SecurityGroupIds" {
type = string
description = "(Required) List of security groups to apply to the instance"
}
variable "SubnetId" {
type = string
description = "(Required) ID of the subnet to assign to the instance"
}
variable "PypiIndexUrl" {
type = string
description = "(Optional) URL to the PyPi Index"
default = "https://pypi.org/simple"
}
variable "WatchmakerConfig" {
type = string
description = "(Optional) URL to a Watchmaker config file"
default = null
}
variable "WatchmakerEnvironment" {
type = string
description = "(Optional) Environment in which the instance is being deployed"
default = null
}
variable "WatchmakerOuPath" {
type = string
description = "(Optional) DN of the OU to place the instance when joining a domain. If blank and WatchmakerEnvironment enforces a domain join, the instance will be placed in a default container. Leave blank if not joining a domain, or if WatchmakerEnvironment is false"
default = null
}
variable "WatchmakerComputerName" {
type = string
description = "(Optional) Sets the hostname/computername within the OS"
default = null
}
variable "WatchmakerAdminGroups" {
type = string
description = "(Optional) Colon-separated list of domain groups that should have admin permissions on the EC2 instance"
default = null
}
variable "WatchmakerAdminUsers" {
type = string
description = "(Optional) Colon-separated list of domain users that should have admin permissions on the EC2 instance"
default = null
}
variable "WatchmakerS3Source" {
type = bool
description = "(Optional) Flag that tells watchmaker to use its instance role to retrieve watchmaker content from S3"
default = false
}
variable "CfnEndpointUrl" {
type = string
description = "(Optional) URL to the CloudFormation Endpoint. e.g. https://cloudformation.us-east-1.amazonaws.com"
default = "https://cloudformation.us-east-1.amazonaws.com"
}
variable "CfnGetPipUrl" {
type = string
description = "(Optional) URL to get-pip.py"
default = "https://bootstrap.pypa.io/2.6/get-pip.py"
}
variable "ToggleCfnInitUpdate" {
type = string
description = "(Optional) A/B toggle that forces a change to instance metadata, triggering the cfn-init update sequence"
default = "A"
}
variable "EnableRepos" {
type = string
description = "(Optional) Specify repos to be enabled by yum-config-manager"
default = null
}