-
Notifications
You must be signed in to change notification settings - Fork 0
/
variables.tf
226 lines (195 loc) · 7.1 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
219
220
221
222
223
224
225
226
# Instance/Node Settings
variable "aws_region" {
description = "The region to deploy Rubrik Cloud Cluster nodes."
type = string
}
variable "aws_instance_type" {
description = "The type of instance to use as Rubrik Cloud Cluster nodes. CC-ES requires m5.4xlarge."
type = string
default = "m5.4xlarge"
}
variable "aws_disable_api_termination" {
description = "If true, enables EC2 Instance Termination Protection on the Rubrik Cloud Cluster nodes."
type = bool
default = true
}
variable "aws_tags" {
description = "Tags to add to the AWS resources that this Terraform script creates, including the Rubrik cluster nodes."
type = map(string)
default = {}
}
variable "number_of_nodes" {
description = "The total number of nodes in Rubrik Cloud Cluster."
type = number
default = 3
}
variable "aws_ami_owners" {
description = "AWS marketplace account(s) that owns the Rubrik Cloud Cluster AMIs. Use use 679593333241 for AWS Commercial and 345084742485 for AWS GovCloud."
type = set(string)
default = ["679593333241"]
}
variable "aws_ami_filter" {
description = "Cloud Cluster AWS AMI name pattern(s) to search for. Use 'rubrik-mp-cc-<X>*' without the single quotes. Where <X> is the major version of CDM. Ex. 'rubrik-mp-cc-7*'"
type = set(string)
}
variable "aws_image_id" {
description = "AWS Image ID to deploy. Set to 'latest' or leave blank to deploy the latest version from the marketplace."
type = string
default = "latest"
}
variable "aws_key_pair_name" {
description = "Name for the AWS SSH Key-Pair being created or the existing AWS SSH Key-Pair being used."
type = string
default = ""
}
variable "private_key_recovery_window_in_days" {
description = "Recovery window in days to recover script generated ssh private key."
type = number
default = 30
}
# Network Settings
variable "aws_vpc_cloud_cluster_nodes_sg_name" {
description = "The name of the security group to create for Rubrik Cloud Cluster to use."
type = string
default = "Rubrik Cloud Cluster Nodes"
}
variable "cloud_cluster_nodes_admin_cidr" {
description = "The CIDR range for the systems used to administer the Cloud Cluster via SSH and HTTPS."
type = string
default = "0.0.0.0/0"
}
variable "aws_vpc_cloud_cluster_hosts_sg_name" {
description = "The name of the security group to create for Rubrik Cloud Cluster to communicate with EC2 instances."
type = string
default = "Rubrik Cloud Cluster Hosts"
}
variable "aws_cloud_cluster_nodes_sg_ids" {
description = "Additional security groups to add to Rubrik cluster nodes."
type = list(string)
default = []
}
variable "aws_subnet_id" {
description = "The VPC Subnet ID to launch Rubrik Cloud Cluster in."
type = string
}
# Storage Settings
variable "cluster_disk_type" {
description = "Disk type for the cache disk: gp2, gp3. Note gp3 only supported for CC-ES from Rubrik 8.1.1."
type = string
default = "gp3"
}
variable "cluster_disk_size" {
description = "The size (in GB) of each data disk on each node. Cloud Cluster ES only requires 1 512 GB disk per node."
type = number
default = 512
}
variable "cluster_disk_count" {
description = "The number of disks for each node in the cluster. Set to 1 to use with S3 storage for Cloud Cluster ES."
type = number
default = 1
}
# Cloud Cluster ES Settings
variable "aws_cloud_cluster_iam_role_name" {
description = "AWS IAM Role name for Cloud Cluster ES. If blank a name will be auto generated."
type = string
default = ""
}
variable "aws_cloud_cluster_iam_role_policy_name" {
description = "AWS IAM Role policy name for Cloud Cluster ES. If blank a name will be auto generated."
type = string
default = ""
}
variable "aws_cloud_cluster_ec2_instance_profile_name" {
description = "AWS EC2 Instance Profile name that links the IAM Role to Cloud Cluster ES. If blank a name will be auto generated."
type = string
default = ""
}
variable "s3_bucket_name" {
description = "Name of the S3 bucket to use with Cloud Cluster ES data storage. If blank a name will be auto generated."
type = string
default = ""
}
variable "enableImmutability" {
description = "Enables object lock and versioning on the S3 bucket. Sets the object lock flag during bootstrap. Not supported on CDM v8.0.1 and earlier."
type = bool
default = true
}
variable "s3_bucket_force_destroy" {
description = "A boolean that indicates all objects should be deleted from the bucket so that the bucket can be destroyed without error."
type = bool
default = false
}
# Bootstrap Settings
variable "cluster_name" {
description = "Unique name to assign to the Rubrik Cloud Cluster. This will also be used to populate the EC2 instance name tag. For example, rubrik-cloud-cluster-1, rubrik-cloud-cluster-2 etc."
default = "rubrik-cloud-cluster"
}
variable "admin_email" {
description = "The Rubrik Cloud Cluster sends messages for the admin account to this email address."
type = string
}
variable "admin_password" {
description = "Password for the Rubrik Cloud Cluster admin account."
type = string
sensitive = true
default = "ChangeMe"
}
variable "dns_search_domain" {
type = list(any)
description = "List of search domains that the DNS Service will use to resolve hostnames that are not fully qualified."
default = []
}
variable "dns_name_servers" {
type = list(any)
description = "List of the IPv4 addresses of the DNS servers."
default = ["169.254.169.253"]
}
variable "ntp_server1_name" {
description = "The FQDN or IPv4 addresses of network time protocol (NTP) server #1."
type = string
default = "8.8.8.8"
}
variable "ntp_server1_key_id" {
description = "The ID number of the symmetric key used with NTP server #1. (Typically this is 0)"
type = number
default = 0
}
variable "ntp_server1_key" {
description = "Symmetric key material for NTP server #1."
type = string
sensitive = true
default = ""
}
variable "ntp_server1_key_type" {
description = "Symmetric key type for NTP server #1."
type = string
sensitive = true
default = ""
}
variable "ntp_server2_name" {
description = "The FQDN or IPv4 addresses of network time protocol (NTP) server #2."
type = string
default = "8.8.4.4"
}
variable "ntp_server2_key_id" {
description = "The ID number of the symmetric key used with NTP server #2. (Typically this is 0)"
type = number
default = 0
}
variable "ntp_server2_key" {
description = "Symmetric key material for NTP server #2."
type = string
sensitive = true
default = ""
}
variable "ntp_server2_key_type" {
description = "Symmetric key type for NTP server #2."
type = string
sensitive = true
default = ""
}
variable "timeout" {
description = "The number of seconds to wait to establish a connection the Rubrik cluster before returning a timeout error."
type = number
default = 60
}