@@ -11,8 +11,8 @@ locals {
11
11
# attempting to plan if the role_name and function_name are not set. This is a workaround
12
12
# for #83 that will allow one to import resources without receiving an error from coalesce.
13
13
# @see https://github.com/terraform-aws-modules/terraform-aws-lambda/issues/83
14
- role_name = local. create_role ? coalesce (var. role_name , var. function_name , " *" ) : null
15
- policy_name = coalesce (var. policy_name , local. role_name , " *" )
14
+ role_name_prefix = local. create_role ? coalesce (var. role_name_prefix , var. function_name , " *" ) : null
15
+ policy_name_prefix = coalesce (var. policy_name_prefix , local. role_name_prefix , " *" )
16
16
17
17
# IAM Role trusted entities is a list of any (allow strings (services) and maps (type+identifiers))
18
18
trusted_entities_services = distinct (compact (concat (
@@ -94,7 +94,7 @@ data "aws_iam_policy_document" "assume_role" {
94
94
resource "aws_iam_role" "lambda" {
95
95
count = local. create_role ? 1 : 0
96
96
97
- name = local. role_name
97
+ name_prefix = local. role_name_prefix
98
98
description = var. role_description
99
99
path = var. role_path
100
100
force_detach_policies = var. role_force_detach_policies
@@ -134,10 +134,10 @@ data "aws_iam_policy_document" "logs" {
134
134
resource "aws_iam_policy" "logs" {
135
135
count = local. create_role && var. attach_cloudwatch_logs_policy ? 1 : 0
136
136
137
- name = " ${ local . policy_name } -logs"
138
- path = var. policy_path
139
- policy = data. aws_iam_policy_document . logs [0 ]. json
140
- tags = var. tags
137
+ name_prefix = " ${ local . policy_name_prefix } -logs"
138
+ path = var. policy_path
139
+ policy = data. aws_iam_policy_document . logs [0 ]. json
140
+ tags = var. tags
141
141
}
142
142
143
143
resource "aws_iam_role_policy_attachment" "logs" {
@@ -171,10 +171,10 @@ data "aws_iam_policy_document" "dead_letter" {
171
171
resource "aws_iam_policy" "dead_letter" {
172
172
count = local. create_role && var. attach_dead_letter_policy ? 1 : 0
173
173
174
- name = " ${ local . policy_name } -dl"
175
- path = var. policy_path
176
- policy = data. aws_iam_policy_document . dead_letter [0 ]. json
177
- tags = var. tags
174
+ name_prefix = " ${ local . policy_name_prefix } -dl"
175
+ path = var. policy_path
176
+ policy = data. aws_iam_policy_document . dead_letter [0 ]. json
177
+ tags = var. tags
178
178
}
179
179
180
180
resource "aws_iam_role_policy_attachment" "dead_letter" {
@@ -198,10 +198,10 @@ data "aws_iam_policy" "vpc" {
198
198
resource "aws_iam_policy" "vpc" {
199
199
count = local. create_role && var. attach_network_policy ? 1 : 0
200
200
201
- name = " ${ local . policy_name } -vpc"
202
- path = var. policy_path
203
- policy = data. aws_iam_policy . vpc [0 ]. policy
204
- tags = var. tags
201
+ name_prefix = " ${ local . policy_name_prefix } -vpc"
202
+ path = var. policy_path
203
+ policy = data. aws_iam_policy . vpc [0 ]. policy
204
+ tags = var. tags
205
205
}
206
206
207
207
resource "aws_iam_role_policy_attachment" "vpc" {
@@ -225,10 +225,10 @@ data "aws_iam_policy" "tracing" {
225
225
resource "aws_iam_policy" "tracing" {
226
226
count = local. create_role && var. attach_tracing_policy ? 1 : 0
227
227
228
- name = " ${ local . policy_name } -tracing"
229
- path = var. policy_path
230
- policy = data. aws_iam_policy . tracing [0 ]. policy
231
- tags = var. tags
228
+ name_prefix = " ${ local . policy_name_prefix } -tracing"
229
+ path = var. policy_path
230
+ policy = data. aws_iam_policy . tracing [0 ]. policy
231
+ tags = var. tags
232
232
}
233
233
234
234
resource "aws_iam_role_policy_attachment" "tracing" {
@@ -262,10 +262,10 @@ data "aws_iam_policy_document" "async" {
262
262
resource "aws_iam_policy" "async" {
263
263
count = local. create_role && var. attach_async_event_policy ? 1 : 0
264
264
265
- name = " ${ local . policy_name } -async"
266
- path = var. policy_path
267
- policy = data. aws_iam_policy_document . async [0 ]. json
268
- tags = var. tags
265
+ name_prefix = " ${ local . policy_name_prefix } -async"
266
+ path = var. policy_path
267
+ policy = data. aws_iam_policy_document . async [0 ]. json
268
+ tags = var. tags
269
269
}
270
270
271
271
resource "aws_iam_role_policy_attachment" "async" {
@@ -282,10 +282,10 @@ resource "aws_iam_role_policy_attachment" "async" {
282
282
resource "aws_iam_policy" "additional_json" {
283
283
count = local. create_role && var. attach_policy_json ? 1 : 0
284
284
285
- name = local. policy_name
286
- path = var. policy_path
287
- policy = var. policy_json
288
- tags = var. tags
285
+ name_prefix = local. policy_name_prefix
286
+ path = var. policy_path
287
+ policy = var. policy_json
288
+ tags = var. tags
289
289
}
290
290
291
291
resource "aws_iam_role_policy_attachment" "additional_json" {
@@ -302,10 +302,10 @@ resource "aws_iam_role_policy_attachment" "additional_json" {
302
302
resource "aws_iam_policy" "additional_jsons" {
303
303
count = local. create_role && var. attach_policy_jsons ? var. number_of_policy_jsons : 0
304
304
305
- name = " ${ local . policy_name } -${ count . index } "
306
- path = var. policy_path
307
- policy = var. policy_jsons [count . index ]
308
- tags = var. tags
305
+ name_prefix = " ${ local . policy_name_prefix } -${ count . index } "
306
+ path = var. policy_path
307
+ policy = var. policy_jsons [count . index ]
308
+ tags = var. tags
309
309
}
310
310
311
311
resource "aws_iam_role_policy_attachment" "additional_jsons" {
@@ -386,10 +386,10 @@ data "aws_iam_policy_document" "additional_inline" {
386
386
resource "aws_iam_policy" "additional_inline" {
387
387
count = local. create_role && var. attach_policy_statements ? 1 : 0
388
388
389
- name = " ${ local . policy_name } -inline"
390
- path = var. policy_path
391
- policy = data. aws_iam_policy_document . additional_inline [0 ]. json
392
- tags = var. tags
389
+ name_prefix = " ${ local . policy_name_prefix } -inline"
390
+ path = var. policy_path
391
+ policy = data. aws_iam_policy_document . additional_inline [0 ]. json
392
+ tags = var. tags
393
393
}
394
394
395
395
resource "aws_iam_role_policy_attachment" "additional_inline" {
0 commit comments