@@ -17,7 +17,8 @@ module "labels" {
1717# Module : Iam role
1818# Description : Terraform module to create Iam role resource on AWS for lambda.
1919resource "aws_iam_role" "default" {
20- name = format (" %s-role" , module. labels . id )
20+ count = var. enabled ? 1 : 0
21+ name = format (" %s-role" , module. labels . id )
2122
2223 assume_role_policy = << EOF
2324{
3940# Module : Iam policy
4041# Description : Terraform module to create Iam policy resource on AWS for lambda.
4142resource "aws_iam_policy" "default" {
43+ count = var. enabled ? 1 : 0
4244 name = format (" %s-logging" , module. labels . id )
4345 path = " /"
4446 description = " IAM policy for logging from a lambda"
@@ -57,8 +59,9 @@ data "aws_iam_policy_document" "default" {
5759# Module : Iam Role Policy Attachment
5860# Description : Terraform module to attach Iam policy with role resource on AWS for lambda.
5961resource "aws_iam_role_policy_attachment" "default" {
60- role = aws_iam_role. default . name
61- policy_arn = aws_iam_policy. default . arn
62+ count = var. enabled ? 1 : 0
63+ role = join (" " , aws_iam_role. default . * . name )
64+ policy_arn = join (" " , aws_iam_policy. default . * . arn )
6265}
6366
6467# Module : Archive file
@@ -101,7 +104,7 @@ resource "aws_lambda_function" "default" {
101104
102105 function_name = module. labels . id
103106 description = var. description
104- role = aws_iam_role. default . arn
107+ role = join ( " " , aws_iam_role. default . * . arn )
105108 filename = var. filename != null ? format (" %s.zip" , module. labels . id ) : null
106109 s3_bucket = var. s3_bucket
107110 s3_key = var. s3_key
@@ -137,11 +140,11 @@ resource "aws_lambda_function" "default" {
137140# Description : Terraform module to create Lambda permission resource on AWS to create
138141# trigger for function.
139142resource "aws_lambda_permission" "default" {
140- count = length (var. actions ) > 0 ? length (var. actions ) : 0
143+ count = length (var. actions ) > 0 && var . enabled ? length (var. actions ) : 0
141144 statement_id = length (var. statement_ids ) > 0 ? element (var. statement_ids , count. index ) : " "
142145 event_source_token = length (var. event_source_tokens ) > 0 ? element (var. event_source_tokens , count. index ) : null
143146 action = element (var. actions , count. index )
144- function_name = aws_lambda_function. default . * . function_name [ 0 ]
147+ function_name = join ( " " , aws_lambda_function. default . * . function_name )
145148 principal = element (var. principals , count. index )
146149 qualifier = length (var. qualifiers ) > 0 ? element (var. qualifiers , count. index ) : null
147150 source_account = length (var. source_accounts ) > 0 ? element (var. source_accounts , count. index ) : null
0 commit comments