@@ -131,20 +131,12 @@ data "aws_iam_policy_document" "logs" {
131131 }
132132}
133133
134- resource "aws_iam_policy " "logs" {
134+ resource "aws_iam_role_policy " "logs" {
135135 count = local. create_role && var. attach_cloudwatch_logs_policy ? 1 : 0
136136
137137 name = " ${ local . policy_name } -logs"
138- path = var . policy_path
138+ role = aws_iam_role . lambda [ 0 ] . name
139139 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
148140}
149141
150142# ####################
@@ -168,20 +160,12 @@ data "aws_iam_policy_document" "dead_letter" {
168160 }
169161}
170162
171- resource "aws_iam_policy " "dead_letter" {
163+ resource "aws_iam_role_policy " "dead_letter" {
172164 count = local. create_role && var. attach_dead_letter_policy ? 1 : 0
173165
174166 name = " ${ local . policy_name } -dl"
175- path = var . policy_path
167+ role = aws_iam_role . lambda [ 0 ] . name
176168 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
185169}
186170
187171# #####
@@ -195,20 +179,12 @@ data "aws_iam_policy" "vpc" {
195179 arn = " arn:${ data . aws_partition . current . partition } :iam::aws:policy/service-role/AWSLambdaENIManagementAccess"
196180}
197181
198- resource "aws_iam_policy " "vpc" {
182+ resource "aws_iam_role_policy " "vpc" {
199183 count = local. create_role && var. attach_network_policy ? 1 : 0
200184
201185 name = " ${ local . policy_name } -vpc"
202- path = var . policy_path
186+ role = aws_iam_role . lambda [ 0 ] . name
203187 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
212188}
213189
214190# ####################
@@ -222,20 +198,12 @@ data "aws_iam_policy" "tracing" {
222198 arn = " arn:${ data . aws_partition . current . partition } :iam::aws:policy/AWSXRayDaemonWriteAccess"
223199}
224200
225- resource "aws_iam_policy " "tracing" {
201+ resource "aws_iam_role_policy " "tracing" {
226202 count = local. create_role && var. attach_tracing_policy ? 1 : 0
227203
228204 name = " ${ local . policy_name } -tracing"
229- path = var . policy_path
205+ role = aws_iam_role . lambda [ 0 ] . name
230206 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
239207}
240208
241209# ##############################
@@ -259,60 +227,36 @@ data "aws_iam_policy_document" "async" {
259227 }
260228}
261229
262- resource "aws_iam_policy " "async" {
230+ resource "aws_iam_role_policy " "async" {
263231 count = local. create_role && var. attach_async_event_policy ? 1 : 0
264232
265233 name = " ${ local . policy_name } -async"
266- path = var . policy_path
234+ role = aws_iam_role . lambda [ 0 ] . name
267235 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
276236}
277237
278238# ##########################
279239# Additional policy (JSON)
280240# ##########################
281241
282- resource "aws_iam_policy " "additional_json" {
242+ resource "aws_iam_role_policy " "additional_json" {
283243 count = local. create_role && var. attach_policy_json ? 1 : 0
284244
285245 name = local. policy_name
286- path = var . policy_path
246+ role = aws_iam_role . lambda [ 0 ] . name
287247 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
296248}
297249
298250# ####################################
299251# Additional policies (list of JSON)
300252# ####################################
301253
302- resource "aws_iam_policy " "additional_jsons" {
254+ resource "aws_iam_role_policy " "additional_jsons" {
303255 count = local. create_role && var. attach_policy_jsons ? var. number_of_policy_jsons : 0
304256
305257 name = " ${ local . policy_name } -${ count . index } "
306- path = var . policy_path
258+ role = aws_iam_role . lambda [ 0 ] . name
307259 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
316260}
317261
318262# ##########################
@@ -383,18 +327,10 @@ data "aws_iam_policy_document" "additional_inline" {
383327 }
384328}
385329
386- resource "aws_iam_policy " "additional_inline" {
330+ resource "aws_iam_role_policy " "additional_inline" {
387331 count = local. create_role && var. attach_policy_statements ? 1 : 0
388332
389333 name = " ${ local . policy_name } -inline"
390- path = var . policy_path
334+ role = aws_iam_role . lambda [ 0 ] . name
391335 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
400336}
0 commit comments