@@ -238,7 +238,44 @@ def generate_sam_template(*, skip_durable_config=False):
238238 "Default" : "https://lambda.us-west-2.amazonaws.com" ,
239239 }
240240 },
241- "Resources" : {},
241+ "Resources" : {
242+ "DurableFunctionRole" : {
243+ "Type" : "AWS::IAM::Role" ,
244+ "Properties" : {
245+ "AssumeRolePolicyDocument" : {
246+ "Version" : "2012-10-17" ,
247+ "Statement" : [
248+ {
249+ "Effect" : "Allow" ,
250+ "Principal" : {"Service" : "lambda.amazonaws.com" },
251+ "Action" : "sts:AssumeRole" ,
252+ }
253+ ],
254+ },
255+ "ManagedPolicyArns" : [
256+ "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
257+ ],
258+ "Policies" : [
259+ {
260+ "PolicyName" : "DurableExecutionPolicy" ,
261+ "PolicyDocument" : {
262+ "Version" : "2012-10-17" ,
263+ "Statement" : [
264+ {
265+ "Effect" : "Allow" ,
266+ "Action" : [
267+ "lambda:CheckpointDurableExecution" ,
268+ "lambda:GetDurableExecutionState" ,
269+ ],
270+ "Resource" : "*" ,
271+ }
272+ ],
273+ },
274+ }
275+ ],
276+ },
277+ }
278+ },
242279 }
243280
244281 for example in catalog ["examples" ]:
@@ -251,6 +288,7 @@ def generate_sam_template(*, skip_durable_config=False):
251288 "CodeUri" : "build/" ,
252289 "Handler" : example ["handler" ],
253290 "Description" : example ["description" ],
291+ "Role" : {"Fn::GetAtt" : ["DurableFunctionRole" , "Arn" ]},
254292 },
255293 }
256294
0 commit comments