@@ -131,20 +131,12 @@ data "aws_iam_policy_document" "logs" {
131
131
}
132
132
}
133
133
134
- resource "aws_iam_policy " "logs" {
134
+ resource "aws_iam_role_policy " "logs" {
135
135
count = local. create_role && var. attach_cloudwatch_logs_policy ? 1 : 0
136
136
137
137
name = " ${ local . policy_name } -logs"
138
- path = var . policy_path
138
+ role = aws_iam_role . lambda [ 0 ] . name
139
139
policy = data. aws_iam_policy_document . logs [0 ]. json
140
- tags = var. tags
141
- }
142
-
143
- resource "aws_iam_role_policy_attachment" "logs" {
144
- count = local. create_role && var. attach_cloudwatch_logs_policy ? 1 : 0
145
-
146
- role = aws_iam_role. lambda [0 ]. name
147
- policy_arn = aws_iam_policy. logs [0 ]. arn
148
140
}
149
141
150
142
# ####################
@@ -168,20 +160,12 @@ data "aws_iam_policy_document" "dead_letter" {
168
160
}
169
161
}
170
162
171
- resource "aws_iam_policy " "dead_letter" {
163
+ resource "aws_iam_role_policy " "dead_letter" {
172
164
count = local. create_role && var. attach_dead_letter_policy ? 1 : 0
173
165
174
166
name = " ${ local . policy_name } -dl"
175
- path = var . policy_path
167
+ role = aws_iam_role . lambda [ 0 ] . name
176
168
policy = data. aws_iam_policy_document . dead_letter [0 ]. json
177
- tags = var. tags
178
- }
179
-
180
- resource "aws_iam_role_policy_attachment" "dead_letter" {
181
- count = local. create_role && var. attach_dead_letter_policy ? 1 : 0
182
-
183
- role = aws_iam_role. lambda [0 ]. name
184
- policy_arn = aws_iam_policy. dead_letter [0 ]. arn
185
169
}
186
170
187
171
# #####
@@ -195,20 +179,12 @@ data "aws_iam_policy" "vpc" {
195
179
arn = " arn:${ data . aws_partition . current . partition } :iam::aws:policy/service-role/AWSLambdaENIManagementAccess"
196
180
}
197
181
198
- resource "aws_iam_policy " "vpc" {
182
+ resource "aws_iam_role_policy " "vpc" {
199
183
count = local. create_role && var. attach_network_policy ? 1 : 0
200
184
201
185
name = " ${ local . policy_name } -vpc"
202
- path = var . policy_path
186
+ role = aws_iam_role . lambda [ 0 ] . name
203
187
policy = data. aws_iam_policy . vpc [0 ]. policy
204
- tags = var. tags
205
- }
206
-
207
- resource "aws_iam_role_policy_attachment" "vpc" {
208
- count = local. create_role && var. attach_network_policy ? 1 : 0
209
-
210
- role = aws_iam_role. lambda [0 ]. name
211
- policy_arn = aws_iam_policy. vpc [0 ]. arn
212
188
}
213
189
214
190
# ####################
@@ -222,20 +198,12 @@ data "aws_iam_policy" "tracing" {
222
198
arn = " arn:${ data . aws_partition . current . partition } :iam::aws:policy/AWSXRayDaemonWriteAccess"
223
199
}
224
200
225
- resource "aws_iam_policy " "tracing" {
201
+ resource "aws_iam_role_policy " "tracing" {
226
202
count = local. create_role && var. attach_tracing_policy ? 1 : 0
227
203
228
204
name = " ${ local . policy_name } -tracing"
229
- path = var . policy_path
205
+ role = aws_iam_role . lambda [ 0 ] . name
230
206
policy = data. aws_iam_policy . tracing [0 ]. policy
231
- tags = var. tags
232
- }
233
-
234
- resource "aws_iam_role_policy_attachment" "tracing" {
235
- count = local. create_role && var. attach_tracing_policy ? 1 : 0
236
-
237
- role = aws_iam_role. lambda [0 ]. name
238
- policy_arn = aws_iam_policy. tracing [0 ]. arn
239
207
}
240
208
241
209
# ##############################
@@ -259,60 +227,36 @@ data "aws_iam_policy_document" "async" {
259
227
}
260
228
}
261
229
262
- resource "aws_iam_policy " "async" {
230
+ resource "aws_iam_role_policy " "async" {
263
231
count = local. create_role && var. attach_async_event_policy ? 1 : 0
264
232
265
233
name = " ${ local . policy_name } -async"
266
- path = var . policy_path
234
+ role = aws_iam_role . lambda [ 0 ] . name
267
235
policy = data. aws_iam_policy_document . async [0 ]. json
268
- tags = var. tags
269
- }
270
-
271
- resource "aws_iam_role_policy_attachment" "async" {
272
- count = local. create_role && var. attach_async_event_policy ? 1 : 0
273
-
274
- role = aws_iam_role. lambda [0 ]. name
275
- policy_arn = aws_iam_policy. async [0 ]. arn
276
236
}
277
237
278
238
# ##########################
279
239
# Additional policy (JSON)
280
240
# ##########################
281
241
282
- resource "aws_iam_policy " "additional_json" {
242
+ resource "aws_iam_role_policy " "additional_json" {
283
243
count = local. create_role && var. attach_policy_json ? 1 : 0
284
244
285
245
name = local. policy_name
286
- path = var . policy_path
246
+ role = aws_iam_role . lambda [ 0 ] . name
287
247
policy = var. policy_json
288
- tags = var. tags
289
- }
290
-
291
- resource "aws_iam_role_policy_attachment" "additional_json" {
292
- count = local. create_role && var. attach_policy_json ? 1 : 0
293
-
294
- role = aws_iam_role. lambda [0 ]. name
295
- policy_arn = aws_iam_policy. additional_json [0 ]. arn
296
248
}
297
249
298
250
# ####################################
299
251
# Additional policies (list of JSON)
300
252
# ####################################
301
253
302
- resource "aws_iam_policy " "additional_jsons" {
254
+ resource "aws_iam_role_policy " "additional_jsons" {
303
255
count = local. create_role && var. attach_policy_jsons ? var. number_of_policy_jsons : 0
304
256
305
257
name = " ${ local . policy_name } -${ count . index } "
306
- path = var . policy_path
258
+ role = aws_iam_role . lambda [ 0 ] . name
307
259
policy = var. policy_jsons [count . index ]
308
- tags = var. tags
309
- }
310
-
311
- resource "aws_iam_role_policy_attachment" "additional_jsons" {
312
- count = local. create_role && var. attach_policy_jsons ? var. number_of_policy_jsons : 0
313
-
314
- role = aws_iam_role. lambda [0 ]. name
315
- policy_arn = aws_iam_policy. additional_jsons [count . index ]. arn
316
260
}
317
261
318
262
# ##########################
@@ -383,18 +327,10 @@ data "aws_iam_policy_document" "additional_inline" {
383
327
}
384
328
}
385
329
386
- resource "aws_iam_policy " "additional_inline" {
330
+ resource "aws_iam_role_policy " "additional_inline" {
387
331
count = local. create_role && var. attach_policy_statements ? 1 : 0
388
332
389
333
name = " ${ local . policy_name } -inline"
390
- path = var . policy_path
334
+ role = aws_iam_role . lambda [ 0 ] . name
391
335
policy = data. aws_iam_policy_document . additional_inline [0 ]. json
392
- tags = var. tags
393
- }
394
-
395
- resource "aws_iam_role_policy_attachment" "additional_inline" {
396
- count = local. create_role && var. attach_policy_statements ? 1 : 0
397
-
398
- role = aws_iam_role. lambda [0 ]. name
399
- policy_arn = aws_iam_policy. additional_inline [0 ]. arn
400
336
}
0 commit comments