@@ -13,7 +13,7 @@ module "cloud_custodian_s3" {
1313}
1414
1515resource "aws_iam_role" "custodian" {
16- name = " ${ local . prefix } multi-policies"
16+ name = " ${ local . prefix } multi-policies-lambda "
1717 assume_role_policy = << EOF
1818{
1919 "Version": "2012-10-17",
@@ -73,6 +73,43 @@ data "aws_iam_policy_document" "custodian" {
7373 }
7474}
7575
76+ resource "aws_iam_role" "scheduler" {
77+ name = " ${ local . prefix } multi-policies-scheduler"
78+ assume_role_policy = << EOF
79+ {
80+ "Version": "2012-10-17",
81+ "Statement": [
82+ {
83+ "Action": "sts:AssumeRole",
84+ "Principal": {
85+ "Service": "scheduler.amazonaws.com"
86+ },
87+ "Effect": "Allow",
88+ "Sid": ""
89+ }
90+ ]
91+ }
92+ EOF
93+ }
94+
95+ resource "aws_iam_role_policy" "scheduler" {
96+ role = aws_iam_role. scheduler . id
97+
98+ policy = data. aws_iam_policy_document . scheduler . json
99+ }
100+
101+ data "aws_iam_policy_document" "scheduler" {
102+ statement {
103+ actions = [
104+ " lambda:InvokeFunction" ,
105+ ]
106+
107+ resources = [
108+ " arn:aws:lambda:*:${ local . account_id } :function:${ local . prefix } *" ,
109+ ]
110+ }
111+ }
112+
76113module "custodian_policies" {
77114 source = " ../../modules/cloud-custodian-lambda-policies"
78115
@@ -84,6 +121,7 @@ module "custodian_policies" {
84121
85122 depends_on = [
86123 module . cloud_custodian_s3 ,
87- aws_iam_role . custodian
124+ aws_iam_role . custodian ,
125+ aws_iam_role . scheduler
88126 ]
89127}
0 commit comments