Skip to content

Commit f10f6a4

Browse files
feat: Added path parameter for aws_iam_policy resources (#127)
1 parent d4f69b9 commit f10f6a4

File tree

3 files changed

+19
-0
lines changed

3 files changed

+19
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -515,6 +515,7 @@ No modules.
515515
| <a name="input_policy"></a> [policy](#input\_policy) | An additional policy document ARN to attach to IAM role | `string` | `null` | no |
516516
| <a name="input_policy_json"></a> [policy\_json](#input\_policy\_json) | An additional policy document as JSON to attach to IAM role | `string` | `null` | no |
517517
| <a name="input_policy_jsons"></a> [policy\_jsons](#input\_policy\_jsons) | List of additional policy documents as JSON to attach to IAM role | `list(string)` | `[]` | no |
518+
| <a name="input_policy_path"></a> [policy\_path](#input\_policy\_path) | Path of IAM policy to use for EventBridge | `string` | `null` | no |
518519
| <a name="input_policy_statements"></a> [policy\_statements](#input\_policy\_statements) | Map of dynamic policy statements to attach to IAM role | `any` | `{}` | no |
519520
| <a name="input_role_description"></a> [role\_description](#input\_role\_description) | Description of IAM role to use for EventBridge | `string` | `null` | no |
520521
| <a name="input_role_force_detach_policies"></a> [role\_force\_detach\_policies](#input\_role\_force\_detach\_policies) | Specifies to force detaching any policies the IAM role has before destroying it. | `bool` | `true` | no |

iam.tf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ resource "aws_iam_policy" "tracing" {
5858

5959
name = "${local.role_name}-tracing"
6060
policy = data.aws_iam_policy.tracing[0].policy
61+
path = var.policy_path
6162

6263
tags = merge({ Name = "${local.role_name}-tracing" }, var.tags)
6364
}
@@ -90,6 +91,7 @@ resource "aws_iam_policy" "kinesis" {
9091

9192
name = "${local.role_name}-kinesis"
9293
policy = data.aws_iam_policy_document.kinesis[0].json
94+
path = var.policy_path
9395

9496
tags = merge({ Name = "${local.role_name}-kinesis" }, var.tags)
9597
}
@@ -122,6 +124,7 @@ resource "aws_iam_policy" "kinesis_firehose" {
122124

123125
name = "${local.role_name}-kinesis-firehose"
124126
policy = data.aws_iam_policy_document.kinesis_firehose[0].json
127+
path = var.policy_path
125128

126129
tags = merge({ Name = "${local.role_name}-kinesis-firehose" }, var.tags)
127130
}
@@ -158,6 +161,7 @@ resource "aws_iam_policy" "sqs" {
158161

159162
name = "${local.role_name}-sqs"
160163
policy = data.aws_iam_policy_document.sqs[0].json
164+
path = var.policy_path
161165

162166
tags = merge({ Name = "${local.role_name}-sqs" }, var.tags)
163167
}
@@ -203,6 +207,7 @@ resource "aws_iam_policy" "sns" {
203207

204208
name = "${local.role_name}-sns"
205209
policy = data.aws_iam_policy_document.sns[0].json
210+
path = var.policy_path
206211

207212
tags = merge({ Name = "${local.role_name}-sns" }, var.tags)
208213
}
@@ -242,6 +247,7 @@ resource "aws_iam_policy" "ecs" {
242247

243248
name = "${local.role_name}-ecs"
244249
policy = data.aws_iam_policy_document.ecs[0].json
250+
path = var.policy_path
245251

246252
tags = merge({ Name = "${local.role_name}-ecs" }, var.tags)
247253
}
@@ -274,6 +280,7 @@ resource "aws_iam_policy" "lambda" {
274280

275281
name = "${local.role_name}-lambda"
276282
policy = data.aws_iam_policy_document.lambda[0].json
283+
path = var.policy_path
277284

278285
tags = merge({ Name = "${local.role_name}-lambda" }, var.tags)
279286
}
@@ -306,6 +313,7 @@ resource "aws_iam_policy" "sfn" {
306313

307314
name = "${local.role_name}-sfn"
308315
policy = data.aws_iam_policy_document.sfn[0].json
316+
path = var.policy_path
309317

310318
tags = merge({ Name = "${local.role_name}-sfn" }, var.tags)
311319
}
@@ -338,6 +346,7 @@ resource "aws_iam_policy" "api_destination" {
338346

339347
name = "${local.role_name}-api-destination"
340348
policy = data.aws_iam_policy_document.api_destination[0].json
349+
path = var.policy_path
341350

342351
tags = merge({ Name = "${local.role_name}-api-destination" }, var.tags)
343352
}
@@ -374,6 +383,7 @@ resource "aws_iam_policy" "cloudwatch" {
374383

375384
name = "${local.role_name}-cloudwatch"
376385
policy = data.aws_iam_policy_document.cloudwatch[0].json
386+
path = var.policy_path
377387

378388
tags = merge({ Name = "${local.role_name}-cloudwatch" }, var.tags)
379389
}
@@ -417,6 +427,7 @@ resource "aws_iam_policy" "additional_jsons" {
417427

418428
name = "${local.role_name}-${count.index}"
419429
policy = var.policy_jsons[count.index]
430+
path = var.policy_path
420431

421432
tags = merge({ Name = "${local.role_name}-${count.index}" }, var.tags)
422433
}
@@ -502,6 +513,7 @@ resource "aws_iam_policy" "additional_inline" {
502513

503514
name = "${local.role_name}-inline"
504515
policy = data.aws_iam_policy_document.additional_inline[0].json
516+
path = var.policy_path
505517

506518
tags = merge({ Name = "${local.role_name}-inline" }, var.tags)
507519
}

variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,12 @@ variable "role_path" {
220220
default = null
221221
}
222222

223+
variable "policy_path" {
224+
description = "Path of IAM policy to use for EventBridge"
225+
type = string
226+
default = null
227+
}
228+
223229
variable "role_force_detach_policies" {
224230
description = "Specifies to force detaching any policies the IAM role has before destroying it."
225231
type = bool

0 commit comments

Comments
 (0)