Skip to content

Commit d6da147

Browse files
committed
Integration tests are passing for all input variabtions.
1 parent e1e5c5c commit d6da147

File tree

4 files changed

+35
-107
lines changed

4 files changed

+35
-107
lines changed

README.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,13 @@ You specify every ingress rule you need in just one line with words like **ssh**
1111
{
1212
source = "github.com/devops-ip/terraform-aws-security-group"
1313
in_ingress = [ "ssh", "http", "https" ]
14-
in_vpc_id = "${module.vpc.vpc_id}"
14+
in_vpc_id = "${module.ecosystem-vpc.out_vpc_id}"
15+
}
16+
17+
module ecosystem-vpc
18+
{
19+
source = "github.com/devops-ip/terraform-aws-vpc-subnets"
20+
in_vpc_cidr = "10.123.0.0/16"
1521
}
1622

1723
resource aws_instance ec2-instance

security.group-main.tf

+2-4
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,16 @@ data aws_vpc default
1515

1616
resource aws_security_group new
1717
{
18-
################################# count = "${ var.in_use_default ? 0 : 1 }"
1918
vpc_id = "${ length(var.in_vpc_id) == 0 ? data.aws_vpc.default.id : var.in_vpc_id }"
2019
name = "security-group-${ var.in_ecosystem }-${ module.ecosys.out_stamp }-n"
2120
description = "This new security group ${ module.ecosys.out_history_note }"
2221

2322
tags
2423
{
25-
Name = "security-group-${ var.in_ecosystem }-${ module.ecosys.out_stamp }-n"
24+
Name = "${ var.in_use_default ? "empty-sg" : "security-group" }-${ var.in_ecosystem }-${ module.ecosys.out_stamp }-n"
2625
Class = "${ var.in_ecosystem }"
2726
Instance = "${ var.in_ecosystem }-${ module.ecosys.out_stamp }"
28-
Desc = "Newly created security group for ${ var.in_ecosystem } ${ module.ecosys.out_history_note }"
27+
Desc = "${ var.in_use_default ? "Empty" : "Newly created" } security group for ${ var.in_ecosystem } ${ module.ecosys.out_history_note }"
2928
}
3029

3130
}
@@ -37,7 +36,6 @@ resource aws_security_group new
3736

3837
resource aws_default_security_group default
3938
{
40-
########################### count = "${ var.in_use_default ? 1 : 0 }"
4139
vpc_id = "${ length(var.in_vpc_id) == 0 ? data.aws_vpc.default.id : var.in_vpc_id }"
4240

4341
tags

security.group-outputs.tf

+3-6
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,19 @@
77
### [[output]] out_security_group_ids ###
88
### ################################# ###
99

10-
/*
1110
output out_security_group_ids
1211
{
1312
description = "One element list with ID of either the default security group or the new one."
14-
value = [ "${ var.in_use_default ? aws_default_security_group.default.*.id : aws_security_group.new.*.id }" ]
13+
value = [ "${ var.in_use_default ? aws_default_security_group.default.id : aws_security_group.new.id }" ]
1514
}
16-
*/
15+
1716

1817
### ################################ ###
1918
### [[output]] out_security_group_id ###
2019
### ################################ ###
2120

22-
/*
2321
output out_security_group_id
2422
{
2523
description = "The string ID of either the default security group or the just created new one."
26-
value = "${ var.in_use_default ? aws_default_security_group.default.*.id : aws_security_group.new.*.id }"
24+
value = "${ var.in_use_default ? aws_default_security_group.default.id : aws_security_group.new.id }"
2725
}
28-
*/

test-security.group/security.group-test.tf

+23-96
Original file line numberDiff line numberDiff line change
@@ -8,123 +8,50 @@ locals
88
ecosystem_id = "sgrules-test"
99
}
1010

11-
module vpc-subnets
12-
{
13-
source = "github.com/devops-ip/terraform-aws-vpc-subnets"
14-
in_vpc_cidr = "10.123.0.0/16"
15-
in_ecosystem = "${ local.ecosystem_id }"
16-
}
17-
1811
module zero-param-test
1912
{
20-
source = ".."
13+
source = ".."
2114
}
2215

23-
/*
24-
module last-stable-release-test-0
16+
module vpc-1
2517
{
26-
source = "github.com/devops-ip/terraform-aws-security-group?ref=v0.1.0001"
27-
in_ingress = [ "ssh", "http", "https" ]
28-
in_ecosystem = "${local.ecosystem_id}-00"
18+
source = "github.com/devops-ip/terraform-aws-vpc-subnets"
19+
in_vpc_cidr = "10.123.0.0/16"
20+
in_ecosystem = "${ local.ecosystem_id }"
2921
}
30-
*/
3122

3223
module security-group-test-1
3324
{
34-
source = ".."
35-
in_vpc_id = "${ module.vpc-subnets.out_vpc_id }"
25+
source = ".."
26+
in_ingress = [ "ssh", "http", "https" ]
27+
in_vpc_id = "${ module.vpc-1.out_vpc_id }"
3628
in_use_default = "true"
3729
in_ecosystem = "${ local.ecosystem_id }-01"
3830
}
3931

40-
module security-group-test-2
41-
{
42-
source = ".."
43-
in_vpc_id = "${ module.vpc-subnets.out_vpc_id }"
44-
in_use_default = "true"
45-
##################### in_use_default = "false"
46-
in_ecosystem = "${ local.ecosystem_id }-02"
47-
}
48-
49-
/*
50-
module vpc-subnets-test-2
51-
{
52-
source = "github.com/devops-ip/terraform-aws-vpc-subnets"
53-
version = "~> v0.1.0"
54-
in_vpc_cidr = "10.15.0.0/18"
55-
in_subnets_max = "4"
56-
in_ecosystem = "${local.ecosystem_id}-02"
57-
}
58-
59-
module vpc-subnets-test-3
32+
module vpc-2
6033
{
61-
source = "github.com/devops-ip/terraform-aws-vpc-subnets"
62-
in_vpc_cidr = "10.63.0.0/20"
63-
in_subnets_max = "6"
64-
in_ecosystem = "${local.ecosystem_id}-03"
65-
}
66-
67-
module vpc-subnets-test-4
68-
{
69-
source = "github.com/devops-ip/terraform-aws-vpc-subnets"
70-
in_vpc_cidr = "10.255.0.0/21"
71-
in_num_private_subnets = 8
72-
in_num_public_subnets = 7
73-
in_subnets_max = "7"
74-
in_ecosystem = "${local.ecosystem_id}-04"
75-
}
76-
77-
module vpc-subnets-test-5
78-
{
79-
source = "github.com/devops-ip/terraform-aws-vpc-subnets"
80-
in_vpc_cidr = "10.242.0.0/16"
81-
in_num_private_subnets = 0
82-
in_num_public_subnets = 0
83-
in_ecosystem = "${local.ecosystem_id}-05"
84-
}
85-
86-
module vpc-subnets-test-6
87-
{
88-
source = "github.com/devops-ip/terraform-aws-vpc-subnets"
89-
in_vpc_cidr = "10.243.0.0/16"
90-
in_num_private_subnets = 0
91-
in_ecosystem = "${local.ecosystem_id}-06"
34+
source = "github.com/devops-ip/terraform-aws-vpc-subnets"
35+
in_vpc_cidr = "10.124.0.0/16"
36+
in_ecosystem = "${ local.ecosystem_id }"
9237
}
9338

94-
module vpc-subnets-test-7
39+
module security-group-test-2
9540
{
96-
source = ".."
97-
in_vpc_cidr = "10.244.0.0/16"
98-
in_num_public_subnets = 0
99-
in_ecosystem = "${local.ecosystem_id}-07"
41+
source = ".."
42+
in_ingress = [ "elasticsearch", "ssh", "java" ]
43+
in_egress = [ "all-traffic" ]
44+
in_vpc_id = "${ module.vpc-2.out_vpc_id }"
45+
in_use_default = "false"
46+
in_ecosystem = "${ local.ecosystem_id }-02"
10047
}
10148

102-
module vpc-subnets-test-8
49+
output security_group_id
10350
{
104-
source = ".."
105-
in_vpc_cidr = "10.245.0.0/16"
106-
in_num_private_subnets = 6
107-
in_num_public_subnets = 6
108-
in_ecosystem = "${local.ecosystem_id}-08"
51+
value = "${module.security-group-test-1.out_security_group_id}"
10952
}
11053

111-
module vpc-subnets-test-9
54+
output security_group_ids
11255
{
113-
source = ".."
114-
in_vpc_cidr = "10.31.0.0/22"
115-
in_num_private_subnets = 2
116-
in_num_public_subnets = 8
117-
in_subnets_max = "5"
118-
in_ecosystem = "${local.ecosystem_id}-09"
56+
value = "${module.security-group-test-2.out_security_group_ids}"
11957
}
120-
121-
*/
122-
123-
/*
124-
output subnet_ids_1{ value = "${module.vpc-subnets.out_subnet_ids}" }
125-
output private_subnet_ids_1{ value = "${module.vpc-subnets.out_private_subnet_ids}" }
126-
output public_subnet_ids_1{ value = "${module.vpc-subnets.out_public_subnet_ids}" }
127-
128-
output security_group_id_1 { value = "${module.security-group-test-1.out_security_group_id}" }
129-
output security_group_ids_1{ value = "${module.security-group-test-1.out_security_group_ids}" }
130-
*/

0 commit comments

Comments
 (0)