@@ -5,31 +5,32 @@ provider "aws" {
5
5
region = " eu-west-1"
6
6
}
7
7
8
+ locals {
9
+ environment = " test-app"
10
+ label_order = [" name" , " environment" ]
11
+ }
12
+
8
13
# ###----------------------------------------------------------------------------------
9
14
# # A VPC is a virtual network that closely resembles a traditional network that you'd operate in your own data center.
10
15
# ###----------------------------------------------------------------------------------
11
16
module "vpc" {
12
- source = " clouddrove/vpc/aws"
13
- version = " 2.0.0"
14
-
17
+ source = " clouddrove/vpc/aws"
18
+ version = " 2.0.0"
15
19
name = " vpc"
16
- environment = " test"
17
- label_order = [" name" , " environment" ]
18
-
19
- cidr_block = " 172.16.0.0/16"
20
+ environment = local. environment
21
+ label_order = local. label_order
22
+ cidr_block = " 172.16.0.0/16"
20
23
}
21
24
22
25
# ###----------------------------------------------------------------------------------
23
26
# # A subnet is a range of IP addresses in your VPC.
24
27
# ###----------------------------------------------------------------------------------
25
28
module "public_subnets" {
26
- source = " clouddrove/subnet/aws"
27
- version = " 2.0.0"
28
-
29
- name = " public-subnet"
30
- environment = " test"
31
- label_order = [" name" , " environment" ]
32
-
29
+ source = " clouddrove/subnet/aws"
30
+ version = " 2.0.0"
31
+ name = " public-subnet"
32
+ environment = local. environment
33
+ label_order = local. label_order
33
34
availability_zones = [" eu-west-1b" , " eu-west-1c" ]
34
35
vpc_id = module. vpc . vpc_id
35
36
cidr_block = module. vpc . vpc_cidr_block
@@ -39,16 +40,14 @@ module "public_subnets" {
39
40
}
40
41
41
42
module "iam-role" {
42
- source = " clouddrove/iam-role/aws"
43
- version = " 1.3.0"
44
-
43
+ source = " clouddrove/iam-role/aws"
44
+ version = " 1.3.0"
45
45
name = " iam-role"
46
- environment = " test "
47
- label_order = [ " name " , " environment " ]
46
+ environment = local . environment
47
+ label_order = local . label_order
48
48
assume_role_policy = data. aws_iam_policy_document . default . json
49
-
50
- policy_enabled = true
51
- policy = data. aws_iam_policy_document . iam-policy . json
49
+ policy_enabled = true
50
+ policy = data. aws_iam_policy_document . iam-policy . json
52
51
}
53
52
54
53
data "aws_iam_policy_document" "default" {
@@ -75,30 +74,28 @@ data "aws_iam_policy_document" "iam-policy" {
75
74
}
76
75
}
77
76
78
- # ### ----------------------------------------------------------------------------------
77
+ # #----------------------------------------------------------------------------------
79
78
# # Terraform module to create ec2 instance module on AWS.
80
- # ### ----------------------------------------------------------------------------------
79
+ # #----------------------------------------------------------------------------------
81
80
module "ec2" {
82
81
source = " ./../../"
83
82
name = " ec2"
84
- environment = " test"
85
- label_order = [" name" , " environment" ]
83
+ environment = local. environment
86
84
87
- # ### ----------------------------------------------------------------------------------
85
+ # #----------------------------------------------------------------------------------
88
86
# # Below A security group controls the traffic that is allowed to reach and leave the resources that it is associated with.
89
- # ### ----------------------------------------------------------------------------------
87
+ # #----------------------------------------------------------------------------------
90
88
# tfsec:aws-ec2-no-public-ingress-sgr
91
89
vpc_id = module. vpc . vpc_id
92
90
ssh_allowed_ip = [" 0.0.0.0/0" ]
93
91
ssh_allowed_ports = [22 ]
94
-
95
92
# Instance
96
93
instance_count = 1
97
94
ami = " ami-08d658f84a6d84a80"
98
95
instance_type = " t2.nano"
99
96
100
97
# Keypair
101
- public_key = " HEOM3+lajUSGqWk3Bw/NgygEf1Kgw7gyK3jsTVVcokhK3TDuR3pi4u2QDR2tvLXddPKd37a2S7rjeqecw+XRW9559zKaR7RJJfjO1u1Onc2tgA3y0btdju2bcYBtFkRVOLwpog8CvslYEDLmdVBIlCOnJDkwHK71lKihGKdkeXEtAj0aOQzAJsIpDFXz7vob9OiA/fb2T3t4R1EwEsPEnYVczKMsqUyqa+EE36bItcZHQyCPVN7+bRJyJpPcrfrsAa4yMtiHUUiecPdL/6HYwGHxA5rUX3uD2UBm6sbGBH00ZCj6yUxl2UQR5NE4NR35NI86Q+q1kNOc5VctxxQOTHBwKHaGvKLk4c5gHXaEl8yyYL0wVkL00KYx3GCh1 "
98
+ public_key = " "
102
99
103
100
# Networking
104
101
subnet_ids = tolist (module. public_subnets . public_subnet_id )
@@ -125,4 +122,4 @@ module "ec2" {
125
122
126
123
# Mount EBS With User Data
127
124
user_data = file (" user-data.sh" )
128
- }
125
+ }
0 commit comments