1
1
data "aws_vpc" "vpc" {
2
- id = " ${ var . vpc_id } "
2
+ id = var. vpc_id
3
3
}
4
4
5
- data "aws_region" "current" {}
5
+ data "aws_region" "current" {
6
+ }
6
7
7
8
data "aws_ami_ids" "ami" {
8
9
owners = [" amazon" ]
@@ -44,27 +45,27 @@ data "aws_iam_policy_document" "policy_doc" {
44
45
}
45
46
46
47
data "template_file" "cloud-init" {
47
- template = " ${ file (" ${ path . module } /cloud-init.yaml" )} "
48
+ template = file (" ${ path . module } /cloud-init.yaml" )
48
49
49
- vars {
50
+ vars = {
50
51
sync_node_count = 3
51
- asg_name = " ${ local . cluster_name } "
52
- region = " ${ data . aws_region . current . name } "
53
- admin_password = " ${ random_string . admin_password . result } "
54
- rabbit_password = " ${ random_string . rabbit_password . result } "
55
- secret_cookie = " ${ random_string . secret_cookie . result } "
56
- message_timeout = " ${ 3 * 24 * 60 * 60 * 1000 } " # 3 days
52
+ asg_name = local.cluster_name
53
+ region = data.aws_region.current.name
54
+ admin_password = random_string.admin_password.result
55
+ rabbit_password = random_string.rabbit_password.result
56
+ secret_cookie = random_string.secret_cookie.result
57
+ message_timeout = 3 * 24 * 60 * 60 * 1000 # 3 days
57
58
}
58
59
}
59
60
60
61
resource "aws_iam_role" "role" {
61
- name = " ${ local . cluster_name } "
62
- assume_role_policy = " ${ data . aws_iam_policy_document . policy_doc . json } "
62
+ name = local. cluster_name
63
+ assume_role_policy = data. aws_iam_policy_document . policy_doc . json
63
64
}
64
65
65
66
resource "aws_iam_role_policy" "policy" {
66
- name = " ${ local . cluster_name } "
67
- role = " ${ aws_iam_role . role . id } "
67
+ name = local. cluster_name
68
+ role = aws_iam_role. role . id
68
69
69
70
policy = << EOF
70
71
{
@@ -83,16 +84,17 @@ resource "aws_iam_role_policy" "policy" {
83
84
]
84
85
}
85
86
EOF
87
+
86
88
}
87
89
88
90
resource "aws_iam_instance_profile" "profile" {
89
- name_prefix = " ${ local . cluster_name } "
90
- role = " ${ aws_iam_role . role . name } "
91
+ name_prefix = local. cluster_name
92
+ role = aws_iam_role. role . name
91
93
}
92
94
93
95
resource "aws_security_group" "rabbitmq_elb" {
94
96
name = " rabbitmq_elb-${ var . name } "
95
- vpc_id = " ${ var . vpc_id } "
97
+ vpc_id = var. vpc_id
96
98
description = " Security Group for the rabbitmq elb"
97
99
98
100
egress {
@@ -102,14 +104,14 @@ resource "aws_security_group" "rabbitmq_elb" {
102
104
cidr_blocks = [" 0.0.0.0/0" ]
103
105
}
104
106
105
- tags {
107
+ tags = {
106
108
Name = " rabbitmq ${ var . name } ELB"
107
109
}
108
110
}
109
111
110
112
resource "aws_security_group" "rabbitmq_nodes" {
111
113
name = " ${ local . cluster_name } -nodes"
112
- vpc_id = " ${ var . vpc_id } "
114
+ vpc_id = var. vpc_id
113
115
description = " Security Group for the rabbitmq nodes"
114
116
115
117
ingress {
@@ -123,14 +125,14 @@ resource "aws_security_group" "rabbitmq_nodes" {
123
125
protocol = " tcp"
124
126
from_port = 5672
125
127
to_port = 5672
126
- security_groups = [" ${ aws_security_group . rabbitmq_elb . id } " ]
128
+ security_groups = [aws_security_group . rabbitmq_elb . id ]
127
129
}
128
130
129
131
ingress {
130
132
protocol = " tcp"
131
133
from_port = 15672
132
134
to_port = 15672
133
- security_groups = [" ${ aws_security_group . rabbitmq_elb . id } " ]
135
+ security_groups = [aws_security_group . rabbitmq_elb . id ]
134
136
}
135
137
136
138
egress {
@@ -143,24 +145,24 @@ resource "aws_security_group" "rabbitmq_nodes" {
143
145
]
144
146
}
145
147
146
- tags {
148
+ tags = {
147
149
Name = " rabbitmq ${ var . name } nodes"
148
150
}
149
151
}
150
152
151
153
resource "aws_launch_configuration" "rabbitmq" {
152
- name = " ${ local . cluster_name } "
153
- image_id = " ${ data . aws_ami_ids . ami . ids [0 ]} "
154
- instance_type = " ${ var . instance_type } "
155
- key_name = " ${ var . ssh_key_name } "
156
- security_groups = [ " ${ aws_security_group . rabbitmq_nodes . id } " , " ${ var . nodes_additional_security_group_ids } " ]
157
- iam_instance_profile = " ${ aws_iam_instance_profile . profile . id } "
158
- user_data = " ${ data . template_file . cloud-init . rendered } "
154
+ name = local. cluster_name
155
+ image_id = data. aws_ami_ids . ami . ids [0 ]
156
+ instance_type = var. instance_type
157
+ key_name = var. ssh_key_name
158
+ security_groups = concat ([ aws_security_group . rabbitmq_nodes . id ], var. nodes_additional_security_group_ids )
159
+ iam_instance_profile = aws_iam_instance_profile. profile . id
160
+ user_data = data. template_file . cloud-init . rendered
159
161
160
162
root_block_device {
161
- volume_type = " ${ var . instance_volume_type } "
162
- volume_size = " ${ var . instance_volume_size } "
163
- iops = " ${ var . instance_volume_iops } "
163
+ volume_type = var. instance_volume_type
164
+ volume_size = var. instance_volume_size
165
+ iops = var. instance_volume_iops
164
166
delete_on_termination = true
165
167
}
166
168
@@ -170,20 +172,20 @@ resource "aws_launch_configuration" "rabbitmq" {
170
172
}
171
173
172
174
resource "aws_autoscaling_group" "rabbitmq" {
173
- name = " ${ local . cluster_name } "
174
- min_size = " ${ var . min_size } "
175
- desired_capacity = " ${ var . desired_size } "
176
- max_size = " ${ var . max_size } "
175
+ name = local. cluster_name
176
+ min_size = var. min_size
177
+ desired_capacity = var. desired_size
178
+ max_size = var. max_size
177
179
health_check_grace_period = 300
178
180
health_check_type = " ELB"
179
181
force_delete = true
180
- launch_configuration = " ${ aws_launch_configuration . rabbitmq . name } "
181
- load_balancers = [" ${ aws_elb . elb . name } " ]
182
- vpc_zone_identifier = [ " ${ var . subnet_ids } " ]
182
+ launch_configuration = aws_launch_configuration. rabbitmq . name
183
+ load_balancers = [aws_elb . elb . name ]
184
+ vpc_zone_identifier = var. subnet_ids
183
185
184
186
tag {
185
187
key = " Name"
186
- value = " ${ local . cluster_name } "
188
+ value = local. cluster_name
187
189
propagate_at_launch = true
188
190
}
189
191
}
@@ -213,12 +215,12 @@ resource "aws_elb" "elb" {
213
215
target = " TCP:5672"
214
216
}
215
217
216
- subnets = [ " ${ var . subnet_ids } " ]
218
+ subnets = var. subnet_ids
217
219
idle_timeout = 3600
218
220
internal = true
219
- security_groups = [ " ${ aws_security_group . rabbitmq_elb . id } " , " ${ var . elb_additional_security_group_ids } " ]
221
+ security_groups = concat ([ aws_security_group . rabbitmq_elb . id ], var. elb_additional_security_group_ids )
220
222
221
- tags {
222
- Name = " ${ local . cluster_name } "
223
+ tags = {
224
+ Name = local.cluster_name
223
225
}
224
226
}
0 commit comments