1111 * can be found in the variables.tf file.
1212 *
1313 * - If you wish to use the created Security Group, just be sure to set the cidr_for_sg OR
14- * source_security_group_id varaibles in the variables.tf file. Do not set both or the
14+ * source_sg_id varaibles in the variables.tf file. Do not set both or the
1515 * creation of the security group will fail.
1616 */
1717
1818resource "aws_security_group" "fsx_sg" {
19+ count = var. create_sg ? 1 : 0
1920 name = " fsx_sg"
2021 description = " Allow FSx ONTAP required ports"
2122 vpc_id = var. vpc_id
2223}
2324
2425resource "aws_vpc_security_group_ingress_rule" "all_icmp" {
25- security_group_id = aws_security_group. fsx_sg . id
26+ count = var. create_sg ? 1 : 0
27+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
2628 description = " Allow all ICMP traffic"
2729 cidr_ipv4 = " 0.0.0.0/0" // Allowing all ICMP traffic from all sources
2830 from_port = - 1
@@ -31,217 +33,239 @@ resource "aws_vpc_security_group_ingress_rule" "all_icmp" {
3133}
3234
3335resource "aws_vpc_security_group_ingress_rule" "nfs_tcp" {
34- security_group_id = aws_security_group. fsx_sg . id
36+ count = var. create_sg ? 1 : 0
37+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
3538 description = " Remote procedure call for NFS"
3639 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
37- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
40+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
3841 from_port = 111
3942 to_port = 111
4043 ip_protocol = " tcp"
4144}
4245
4346resource "aws_vpc_security_group_ingress_rule" "nfs_udp" {
44- security_group_id = aws_security_group. fsx_sg . id
47+ count = var. create_sg ? 1 : 0
48+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
4549 description = " Remote procedure call for NFS"
4650 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
47- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
51+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
4852 from_port = 111
4953 to_port = 111
5054 ip_protocol = " udp"
5155}
5256
5357resource "aws_vpc_security_group_ingress_rule" "cifs" {
54- security_group_id = aws_security_group. fsx_sg . id
58+ count = var. create_sg ? 1 : 0
59+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
5560 description = " NetBIOS service session for CIFS"
5661 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
57- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
62+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
5863 from_port = 139
5964 to_port = 139
6065 ip_protocol = " tcp"
6166}
6267
6368resource "aws_vpc_security_group_ingress_rule" "snmp_tcp" {
64- security_group_id = aws_security_group. fsx_sg . id
69+ count = var. create_sg ? 1 : 0
70+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
6571 description = " Simple network management protocol for log collection"
6672 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
67- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
73+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
6874 from_port = 161
6975 to_port = 162
7076 ip_protocol = " tcp"
7177}
7278
7379resource "aws_vpc_security_group_ingress_rule" "snmp_udp" {
74- security_group_id = aws_security_group. fsx_sg . id
80+ count = var. create_sg ? 1 : 0
81+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
7582 description = " Simple network management protocol for log collection"
7683 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
77- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
84+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
7885 from_port = 161
7986 to_port = 162
8087 ip_protocol = " udp"
8188}
8289
8390resource "aws_vpc_security_group_ingress_rule" "smb_cifs" {
84- security_group_id = aws_security_group. fsx_sg . id
91+ count = var. create_sg ? 1 : 0
92+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
8593 description = " Microsoft SMB/CIFS over TCP with NetBIOS framing"
8694 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
87- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
95+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
8896 from_port = 445
8997 to_port = 445
9098 ip_protocol = " tcp"
9199}
92100
93101resource "aws_vpc_security_group_ingress_rule" "nfs_mount_tcp" {
94- security_group_id = aws_security_group. fsx_sg . id
102+ count = var. create_sg ? 1 : 0
103+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
95104 description = " NFS mount"
96105 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
97- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
106+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
98107 from_port = 635
99108 to_port = 635
100109 ip_protocol = " tcp"
101110}
102111
103112resource "aws_vpc_security_group_ingress_rule" "kerberos" {
104- security_group_id = aws_security_group. fsx_sg . id
113+ count = var. create_sg ? 1 : 0
114+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
105115 description = " Kerberos authentication"
106116 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
107- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
117+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
108118 from_port = 749
109119 to_port = 749
110120 ip_protocol = " tcp"
111121}
112122
113123resource "aws_vpc_security_group_ingress_rule" "nfs_server_daemon" {
114- security_group_id = aws_security_group. fsx_sg . id
124+ count = var. create_sg ? 1 : 0
125+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
115126 description = " NFS server daemon"
116127 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
117- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
128+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
118129 from_port = 2049
119130 to_port = 2049
120131 ip_protocol = " tcp"
121132}
122133
123134resource "aws_vpc_security_group_ingress_rule" "nfs_server_daemon_udp" {
124- security_group_id = aws_security_group. fsx_sg . id
135+ count = var. create_sg ? 1 : 0
136+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
125137 description = " NFS server daemon"
126138 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
127- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
139+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
128140 from_port = 2049
129141 to_port = 2049
130142 ip_protocol = " udp"
131143}
132144
133145resource "aws_vpc_security_group_ingress_rule" "nfs_lock_daemon" {
134- security_group_id = aws_security_group. fsx_sg . id
146+ count = var. create_sg ? 1 : 0
147+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
135148 description = " NFS lock daemon"
136149 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
137- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
150+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
138151 from_port = 4045
139152 to_port = 4045
140153 ip_protocol = " tcp"
141154}
142155
143156resource "aws_vpc_security_group_ingress_rule" "nfs_lock_daemon_udp" {
144- security_group_id = aws_security_group. fsx_sg . id
157+ count = var. create_sg ? 1 : 0
158+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
145159 description = " NFS lock daemon"
146160 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
147- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
161+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
148162 from_port = 4045
149163 to_port = 4045
150164 ip_protocol = " udp"
151165}
152166
153167resource "aws_vpc_security_group_ingress_rule" "nfs_status_monitor" {
154- security_group_id = aws_security_group. fsx_sg . id
168+ count = var. create_sg ? 1 : 0
169+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
155170 description = " Status monitor for NFS"
156171 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
157- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
172+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
158173 from_port = 4046
159174 to_port = 4046
160175 ip_protocol = " tcp"
161176}
162177
163178resource "aws_vpc_security_group_ingress_rule" "nfs_status_monitor_udp" {
164- security_group_id = aws_security_group. fsx_sg . id
179+ count = var. create_sg ? 1 : 0
180+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
165181 description = " Status monitor for NFS"
166182 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
167- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
183+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
168184 from_port = 4046
169185 to_port = 4046
170186 ip_protocol = " udp"
171187}
172188
173189resource "aws_vpc_security_group_ingress_rule" "nfs_rquotad" {
174- security_group_id = aws_security_group. fsx_sg . id
190+ count = var. create_sg ? 1 : 0
191+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
175192 description = " Remote quota server for NFS"
176193 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
177- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
194+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
178195 from_port = 4049
179196 to_port = 4049
180197 ip_protocol = " udp"
181198}
182199
183200resource "aws_vpc_security_group_ingress_rule" "iscsi_tcp" {
184- security_group_id = aws_security_group. fsx_sg . id
201+ count = var. create_sg ? 1 : 0
202+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
185203 description = " iSCSI"
186204 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
187- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
205+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
188206 from_port = 3260
189207 to_port = 3260
190208 ip_protocol = " tcp"
191209}
192210
193211resource "aws_vpc_security_group_ingress_rule" "Snapmirror_Intercluster_communication" {
194- security_group_id = aws_security_group. fsx_sg . id
212+ count = var. create_sg ? 1 : 0
213+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
195214 description = " Snapmirror Intercluster communication"
196215 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
197- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
216+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
198217 from_port = 11104
199218 to_port = 11104
200219 ip_protocol = " tcp"
201220}
202221
203222resource "aws_vpc_security_group_ingress_rule" "Snapmirror_data_transfer" {
204- security_group_id = aws_security_group. fsx_sg . id
223+ count = var. create_sg ? 1 : 0
224+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
205225 description = " Snapmirror data transfer"
206226 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
207- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
227+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
208228 from_port = 11105
209229 to_port = 11105
210230 ip_protocol = " tcp"
211231}
212232
213233resource "aws_vpc_security_group_ingress_rule" "nfs_mount_udp" {
214- security_group_id = aws_security_group. fsx_sg . id
234+ count = var. create_sg ? 1 : 0
235+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
215236 description = " NFS mount"
216237 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
217- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
238+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
218239 from_port = 635
219240 to_port = 635
220241 ip_protocol = " udp"
221242}
222243
223244resource "aws_vpc_security_group_ingress_rule" "ssh" {
224- security_group_id = aws_security_group. fsx_sg . id
245+ count = var. create_sg ? 1 : 0
246+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
225247 description = " ssh"
226248 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
227- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
249+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
228250 from_port = 22
229251 to_port = 22
230252 ip_protocol = " tcp"
231253}
232254
233255resource "aws_vpc_security_group_ingress_rule" "s3_and_api" {
234- security_group_id = aws_security_group. fsx_sg . id
256+ count = var. create_sg ? 1 : 0
257+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
235258 description = " Provice acccess to S3 and the ONTAP REST API"
236259 cidr_ipv4 = (var. cidr_for_sg != " " ? var. cidr_for_sg : null )
237- referenced_security_group_id = (var. source_security_group_id != " " ? var. source_security_group_id : null )
260+ referenced_security_group_id = (var. source_sg_id != " " ? var. source_sg_id : null )
238261 from_port = 443
239262 to_port = 443
240263 ip_protocol = " tcp"
241264}
242265
243266resource "aws_vpc_security_group_egress_rule" "allow_all_traffic" {
244- security_group_id = aws_security_group. fsx_sg . id
267+ count = var. create_sg ? 1 : 0
268+ security_group_id = aws_security_group. fsx_sg [count . index ]. id
245269 cidr_ipv4 = " 0.0.0.0/0" // Allow all output traffic.
246270 ip_protocol = " -1"
247271}
0 commit comments