177409ad399ab2d8b31a1b72b83e492c8583e0ed
[csit.git] / fdio.infra.terraform / terraform-aws-3n-aws-c5n / variables.tf
1 variable "vault-name" {
2   default = "dynamic-aws-creds-vault-fdio"
3 }
4
5 variable "region" {
6   description = "AWS Region."
7   type        = string
8   default     = "eu-central-1"
9 }
10
11 variable "resource_prefix" {
12   description = "Resources name prefix."
13   type        = string
14   default     = "csit-2n-aws-c5n"
15 }
16
17 variable "testbed_name" {
18   description = "Testbed name."
19   type        = string
20   default     = "testbed1"
21 }
22
23 # Variables for Private Key
24 variable "private_key_algorithm" {
25   description = "The name of the algorithm to use for the key."
26   type        = string
27   default     = "RSA"
28 }
29
30 variable "private_key_ecdsa_curve" {
31   description = "When algorithm is ECDSA, the name of the elliptic curve to use."
32   type        = string
33   default     = "P521"
34 }
35
36 variable "private_key_rsa_bits" {
37   description = "When algorithm is RSA, the size of the generated RSA key in bits."
38   type        = number
39   default     = 4096
40 }
41
42 # Variables for Placement Group
43 variable "placement_group_strategy" {
44   description = "The placement strategy. Can be cluster, partition or spread."
45   type        = string
46   default     = "cluster"
47 }
48
49 # Variables for Instance
50 variable "tg_ami" {
51   description = "AMI to use for the instance."
52   type        = string
53   default     = "ami-01d1d62914ef00b25"
54 }
55
56 variable "tg_associate_public_ip_address" {
57   description = "Whether to associate a public IP address with an instance in a VPC."
58   type        = bool
59   default     = true
60 }
61
62 variable "tg_instance_initiated_shutdown_behavior" {
63   description = "Shutdown behavior for the instance."
64   type        = string
65   default     = "terminate"
66 }
67
68 variable "tg_instance_type" {
69   description = "The instance type to use for the instance."
70   type        = string
71   default     = "c5n.4xlarge"
72 }
73
74 variable "tg_private_ip" {
75   description = "Private IP address to associate with the instance in a VPC."
76   type        = string
77   default     = "192.168.0.10"
78 }
79
80 variable "tg_source_dest_check" {
81   description = "Controls if traffic is routed to the instance when the destination address does not match the instance."
82   type        = bool
83   default     = false
84 }
85
86 variable "sut1_ami" {
87   description = "AMI to use for the instance."
88   type        = string
89   default     = "ami-0bfdf32a014984d8a"
90 }
91
92 variable "sut1_associate_public_ip_address" {
93   description = "Whether to associate a public IP address with an instance in a VPC."
94   type        = bool
95   default     = true
96 }
97
98 variable "sut1_instance_initiated_shutdown_behavior" {
99   description = "Shutdown behavior for the instance."
100   type        = string
101   default     = "terminate"
102 }
103
104 variable "sut1_instance_type" {
105   description = "The instance type to use for the instance."
106   type        = string
107   default     = "c5n.4xlarge"
108 }
109
110 variable "sut1_private_ip" {
111   description = "Private IP address to associate with the instance in a VPC."
112   type        = string
113   default     = "192.168.0.11"
114 }
115
116 variable "sut1_source_dest_check" {
117   description = "Controls if traffic is routed to the instance when the destination address does not match the instance."
118   type        = bool
119   default     = false
120 }
121
122 variable "sut2_ami" {
123   description = "AMI to use for the instance."
124   type        = string
125   default     = "ami-05ea90e57d2df4368"
126 }
127
128 variable "sut2_associate_public_ip_address" {
129   description = "Whether to associate a public IP address with an instance in a VPC."
130   type        = bool
131   default     = true
132 }
133
134 variable "sut2_instance_initiated_shutdown_behavior" {
135   description = "Shutdown behavior for the instance."
136   type        = string
137   default     = "terminate"
138 }
139
140 variable "sut2_instance_type" {
141   description = "The instance type to use for the instance."
142   type        = string
143   default     = "c5n.4xlarge"
144 }
145
146 variable "sut2_private_ip" {
147   description = "Private IP address to associate with the instance in a VPC."
148   type        = string
149   default     = "192.168.0.12"
150 }
151
152 variable "sut2_source_dest_check" {
153   description = "Controls if traffic is routed to the instance when the destination address does not match the instance."
154   type        = bool
155   default     = false
156 }
157
158 # Variables for Network Interface
159 variable "tg_if1_private_ip" {
160   description = "List of private IPs to assign to the ENI without regard to order."
161   type        = string
162   default     = "192.168.10.254"
163 }
164
165 variable "tg_if2_private_ip" {
166   description = "List of private IPs to assign to the ENI without regard to order."
167   type        = string
168   default     = "192.168.20.254"
169 }
170
171 variable "destination_cidr_block_tg_if1" {
172   description = "The destination CIDR block."
173   type        = string
174   default     = "10.0.0.0/24"
175 }
176
177 variable "destination_cidr_block_tg_if2" {
178   description = "The destination CIDR block."
179   type        = string
180   default     = "20.0.0.0/24"
181 }
182
183 variable "sut1_if1_private_ip" {
184   description = "List of private IPs to assign to the ENI without regard to order."
185   type        = string
186   default     = "192.168.10.11"
187 }
188
189 variable "sut1_if2_private_ip" {
190   description = "List of private IPs to assign to the ENI without regard to order."
191   type        = string
192   default     = "200.0.0.101"
193 }
194
195 variable "sut2_if1_private_ip" {
196   description = "List of private IPs to assign to the ENI without regard to order."
197   type        = string
198   default     = "200.0.0.102"
199 }
200
201 variable "sut2_if2_private_ip" {
202   description = "List of private IPs to assign to the ENI without regard to order."
203   type        = string
204   default     = "192.168.20.11"
205 }
206
207 # Variables for Null Resource
208 variable "first_run_commands" {
209   description = "List of private IPs to assign to the ENI without regard to order."
210   type        = list(string)
211   default = [
212     "sudo sed -i 's/^PasswordAuthentication/#PasswordAuthentication/' /etc/ssh/sshd_config",
213     "sudo systemctl restart sshd",
214     "sudo useradd --create-home -s /bin/bash provisionuser",
215     "echo 'provisionuser:Csit1234' | sudo chpasswd",
216     "echo 'provisionuser ALL = (ALL) NOPASSWD: ALL' | sudo tee -a /etc/sudoers",
217     "sudo useradd --create-home -s /bin/bash testuser",
218     "echo 'testuser:Csit1234' | sudo chpasswd",
219     "echo 'testuser ALL = (ALL) NOPASSWD: ALL' | sudo tee -a /etc/sudoers"
220   ]
221 }
222
223 # Variables for Null Resource
224 variable "ansible_topology_path" {
225   description = "Ansible topology path."
226   type        = string
227   default     = "../../fdio.infra.ansible/cloud_topology.yaml"
228 }