1
+ locals {
2
+ enabled = " ${ var . enabled == " true" ? true : false } "
3
+ }
4
+
1
5
module "codepipeline_label" {
2
- source = " github.com/cloudposse/terraform-terraform-label.git?ref=0.1.2 "
6
+ source = " github.com/cloudposse/terraform-terraform-label.git?ref=0.2.1 "
3
7
attributes = [" ${ compact (concat (var. attributes , list (" codepipeline" )))} " ]
4
8
delimiter = " ${ var . delimiter } "
5
9
name = " ${ var . name } "
@@ -9,14 +13,14 @@ module "codepipeline_label" {
9
13
}
10
14
11
15
resource "aws_s3_bucket" "default" {
12
- count = " ${ var . enabled == " true " ? 1 : 0 } "
16
+ count = " ${ local . enabled ? 1 : 0 } "
13
17
bucket = " ${ module . codepipeline_label . id } "
14
18
acl = " private"
15
19
tags = " ${ module . codepipeline_label . tags } "
16
20
}
17
21
18
22
module "codepipeline_assume_label" {
19
- source = " github.com/cloudposse/terraform-terraform-label.git?ref=0.1.2 "
23
+ source = " github.com/cloudposse/terraform-terraform-label.git?ref=0.2.1 "
20
24
attributes = [" ${ compact (concat (var. attributes , list (" codepipeline" , " assume" )))} " ]
21
25
delimiter = " ${ var . delimiter } "
22
26
name = " ${ var . name } "
@@ -26,7 +30,7 @@ module "codepipeline_assume_label" {
26
30
}
27
31
28
32
resource "aws_iam_role" "default" {
29
- count = " ${ var . enabled == " true " ? 1 : 0 } "
33
+ count = " ${ local . enabled ? 1 : 0 } "
30
34
name = " ${ module . codepipeline_assume_label . id } "
31
35
assume_role_policy = " ${ data . aws_iam_policy_document . assume . json } "
32
36
}
@@ -49,13 +53,13 @@ data "aws_iam_policy_document" "assume" {
49
53
}
50
54
51
55
resource "aws_iam_role_policy_attachment" "default" {
52
- count = " ${ var . enabled == " true " ? 1 : 0 } "
56
+ count = " ${ local . enabled ? 1 : 0 } "
53
57
role = " ${ aws_iam_role . default . id } "
54
58
policy_arn = " ${ aws_iam_policy . default . arn } "
55
59
}
56
60
57
61
resource "aws_iam_policy" "default" {
58
- count = " ${ var . enabled == " true " ? 1 : 0 } "
62
+ count = " ${ local . enabled ? 1 : 0 } "
59
63
name = " ${ module . codepipeline_label . id } "
60
64
policy = " ${ data . aws_iam_policy_document . default . json } "
61
65
}
@@ -84,13 +88,13 @@ data "aws_iam_policy_document" "default" {
84
88
}
85
89
86
90
resource "aws_iam_role_policy_attachment" "s3" {
87
- count = " ${ var . enabled == " true " ? 1 : 0 } "
91
+ count = " ${ local . enabled ? 1 : 0 } "
88
92
role = " ${ aws_iam_role . default . id } "
89
93
policy_arn = " ${ aws_iam_policy . s3 . arn } "
90
94
}
91
95
92
96
module "codepipeline_s3_policy_label" {
93
- source = " github.com/cloudposse/terraform-terraform-label.git?ref=0.1.2 "
97
+ source = " github.com/cloudposse/terraform-terraform-label.git?ref=0.2.1 "
94
98
attributes = [" ${ compact (concat (var. attributes , list (" codepipeline" , " s3" )))} " ]
95
99
delimiter = " ${ var . delimiter } "
96
100
name = " ${ var . name } "
@@ -100,13 +104,13 @@ module "codepipeline_s3_policy_label" {
100
104
}
101
105
102
106
resource "aws_iam_policy" "s3" {
103
- count = " ${ var . enabled == " true " ? 1 : 0 } "
107
+ count = " ${ local . enabled ? 1 : 0 } "
104
108
name = " ${ module . codepipeline_s3_policy_label . id } "
105
109
policy = " ${ data . aws_iam_policy_document . s3 . json } "
106
110
}
107
111
108
112
data "aws_iam_policy_document" "s3" {
109
- count = " ${ var . enabled == " true " ? 1 : 0 } "
113
+ count = " ${ local . enabled ? 1 : 0 } "
110
114
111
115
statement {
112
116
sid = " "
@@ -128,13 +132,13 @@ data "aws_iam_policy_document" "s3" {
128
132
}
129
133
130
134
resource "aws_iam_role_policy_attachment" "codebuild" {
131
- count = " ${ var . enabled == " true " ? 1 : 0 } "
135
+ count = " ${ local . enabled ? 1 : 0 } "
132
136
role = " ${ aws_iam_role . default . id } "
133
137
policy_arn = " ${ aws_iam_policy . codebuild . arn } "
134
138
}
135
139
136
140
module "codebuild_label" {
137
- source = " github.com/cloudposse/terraform-terraform-label.git?ref=0.1.2 "
141
+ source = " github.com/cloudposse/terraform-terraform-label.git?ref=0.2.1 "
138
142
attributes = [" ${ compact (concat (var. attributes , list (" codebuild" )))} " ]
139
143
delimiter = " ${ var . delimiter } "
140
144
name = " ${ var . name } "
@@ -144,7 +148,7 @@ module "codebuild_label" {
144
148
}
145
149
146
150
resource "aws_iam_policy" "codebuild" {
147
- count = " ${ var . enabled == " true " ? 1 : 0 } "
151
+ count = " ${ local . enabled ? 1 : 0 } "
148
152
name = " ${ module . codebuild_label . id } "
149
153
policy = " ${ data . aws_iam_policy_document . codebuild . json } "
150
154
}
@@ -190,13 +194,13 @@ module "build" {
190
194
}
191
195
192
196
resource "aws_iam_role_policy_attachment" "codebuild_s3" {
193
- count = " ${ var . enabled == " true " ? 1 : 0 } "
197
+ count = " ${ local . enabled ? 1 : 0 } "
194
198
role = " ${ module . build . role_arn } "
195
199
policy_arn = " ${ aws_iam_policy . s3 . arn } "
196
200
}
197
201
198
202
resource "aws_codepipeline" "source_build_deploy" {
199
- count = " ${ var . enabled == " true " ? 1 : 0 } "
203
+ count = " ${ local . enabled ? 1 : 0 } "
200
204
name = " ${ module . codepipeline_label . id } "
201
205
role_arn = " ${ aws_iam_role . default . arn } "
202
206
@@ -265,7 +269,7 @@ resource "aws_codepipeline" "source_build_deploy" {
265
269
}
266
270
267
271
resource "random_string" "webhook_secret" {
268
- count = " ${ var . webhook_enabled == " true" ? 1 : 0 } "
272
+ count = " ${ local . enabled && var . webhook_enabled == " true" ? 1 : 0 } "
269
273
length = 32
270
274
271
275
# Special characters are not allowed in webhook secret (AWS silently ignores webhook callbacks)
@@ -278,7 +282,7 @@ locals {
278
282
}
279
283
280
284
resource "aws_codepipeline_webhook" "webhook" {
281
- count = " ${ var . webhook_enabled == " true" ? 1 : 0 } "
285
+ count = " ${ local . enabled && var . webhook_enabled == " true" ? 1 : 0 } "
282
286
name = " ${ module . codepipeline_label . id } "
283
287
authentication = " ${ var . webhook_authentication } "
284
288
target_action = " ${ var . webhook_target_action } "
@@ -296,7 +300,7 @@ resource "aws_codepipeline_webhook" "webhook" {
296
300
297
301
module "github_webhooks" {
298
302
source = " git::https://github.com/cloudposse/terraform-github-repository-webhooks.git?ref=tags/0.1.1"
299
- enabled = " ${ var . webhook_enabled } "
303
+ enabled = " ${ local . enabled && var . webhook_enabled == " true " ? " true " : " false " } "
300
304
github_organization = " ${ var . repo_owner } "
301
305
github_repositories = [" ${ var . repo_name } " ]
302
306
github_token = " ${ var . github_oauth_token } "
0 commit comments