Skip to content

Commit 52b9f7b

Browse files
committed
Switch to name_prefix and allow quieting log out
1 parent f48be17 commit 52b9f7b

File tree

3 files changed

+46
-39
lines changed

3 files changed

+46
-39
lines changed

iam.tf

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ locals {
1111
# attempting to plan if the role_name and function_name are not set. This is a workaround
1212
# for #83 that will allow one to import resources without receiving an error from coalesce.
1313
# @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, "*")
1616

1717
# IAM Role trusted entities is a list of any (allow strings (services) and maps (type+identifiers))
1818
trusted_entities_services = distinct(compact(concat(
@@ -94,7 +94,7 @@ data "aws_iam_policy_document" "assume_role" {
9494
resource "aws_iam_role" "lambda" {
9595
count = local.create_role ? 1 : 0
9696

97-
name = local.role_name
97+
name_prefix = local.role_name_prefix
9898
description = var.role_description
9999
path = var.role_path
100100
force_detach_policies = var.role_force_detach_policies
@@ -134,10 +134,10 @@ data "aws_iam_policy_document" "logs" {
134134
resource "aws_iam_policy" "logs" {
135135
count = local.create_role && var.attach_cloudwatch_logs_policy ? 1 : 0
136136

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
141141
}
142142

143143
resource "aws_iam_role_policy_attachment" "logs" {
@@ -171,10 +171,10 @@ data "aws_iam_policy_document" "dead_letter" {
171171
resource "aws_iam_policy" "dead_letter" {
172172
count = local.create_role && var.attach_dead_letter_policy ? 1 : 0
173173

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
178178
}
179179

180180
resource "aws_iam_role_policy_attachment" "dead_letter" {
@@ -198,10 +198,10 @@ data "aws_iam_policy" "vpc" {
198198
resource "aws_iam_policy" "vpc" {
199199
count = local.create_role && var.attach_network_policy ? 1 : 0
200200

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
205205
}
206206

207207
resource "aws_iam_role_policy_attachment" "vpc" {
@@ -225,10 +225,10 @@ data "aws_iam_policy" "tracing" {
225225
resource "aws_iam_policy" "tracing" {
226226
count = local.create_role && var.attach_tracing_policy ? 1 : 0
227227

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
232232
}
233233

234234
resource "aws_iam_role_policy_attachment" "tracing" {
@@ -262,10 +262,10 @@ data "aws_iam_policy_document" "async" {
262262
resource "aws_iam_policy" "async" {
263263
count = local.create_role && var.attach_async_event_policy ? 1 : 0
264264

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
269269
}
270270

271271
resource "aws_iam_role_policy_attachment" "async" {
@@ -282,10 +282,10 @@ resource "aws_iam_role_policy_attachment" "async" {
282282
resource "aws_iam_policy" "additional_json" {
283283
count = local.create_role && var.attach_policy_json ? 1 : 0
284284

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
289289
}
290290

291291
resource "aws_iam_role_policy_attachment" "additional_json" {
@@ -302,10 +302,10 @@ resource "aws_iam_role_policy_attachment" "additional_json" {
302302
resource "aws_iam_policy" "additional_jsons" {
303303
count = local.create_role && var.attach_policy_jsons ? var.number_of_policy_jsons : 0
304304

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
309309
}
310310

311311
resource "aws_iam_role_policy_attachment" "additional_jsons" {
@@ -386,10 +386,10 @@ data "aws_iam_policy_document" "additional_inline" {
386386
resource "aws_iam_policy" "additional_inline" {
387387
count = local.create_role && var.attach_policy_statements ? 1 : 0
388388

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
393393
}
394394

395395
resource "aws_iam_role_policy_attachment" "additional_inline" {

package.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ resource "null_resource" "archive" {
7070
"--timestamp", data.external.archive_prepare[0].result.timestamp
7171
]
7272
command = data.external.archive_prepare[0].result.build_plan_filename
73+
quiet = var.quiet_local_exec
7374
}
7475

7576
depends_on = [local_file.archive_plan]

variables.tf

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -454,8 +454,8 @@ variable "cloudwatch_logs_tags" {
454454
# IAM
455455
######
456456

457-
variable "role_name" {
458-
description = "Name of IAM role to use for Lambda Function"
457+
variable "role_name_prefix" {
458+
description = "Name prefix of IAM role to use for Lambda Function"
459459
type = string
460460
default = null
461461
}
@@ -500,8 +500,8 @@ variable "role_maximum_session_duration" {
500500
# Policies
501501
###########
502502

503-
variable "policy_name" {
504-
description = "IAM policy name. It override the default value, which is the same as role_name"
503+
variable "policy_name_prefix" {
504+
description = "IAM policy name prefix. It override the default value, which is the same as role_name"
505505
type = string
506506
default = null
507507
}
@@ -786,6 +786,12 @@ variable "trigger_on_package_timestamp" {
786786
default = true
787787
}
788788

789+
variable "quiet_local_exec" {
790+
description = "Whether to disable local execution output."
791+
type = bool
792+
default = false
793+
}
794+
789795
############################################
790796
# Lambda Advanced Logging Settings
791797
############################################

0 commit comments

Comments
 (0)