{ "AWSTemplateFormatVersion": "2010-09-09", "Transform": "AWS::Serverless-2016-10-31", "Description": "An AWS Serverless Application.", "Resources": { "GreetingTask": { "Type": "AWS::Lambda::Function", "Properties": { "Handler": "BlueprintBaseName.1::BlueprintBaseName._1.StepFunctionTasks::Greeting", "Role": { "Fn::GetAtt": [ "LambdaRole", "Arn" ] }, "Runtime": "dotnetcore3.1", "MemorySize": 256, "Timeout": 30, "Code": { "S3Bucket": "", "S3Key": "" } } }, "SalutationsTask": { "Type": "AWS::Lambda::Function", "Properties": { "Handler": "BlueprintBaseName.1::BlueprintBaseName._1.StepFunctionTasks::Salutations", "Role": { "Fn::GetAtt": [ "LambdaRole", "Arn" ] }, "Runtime": "dotnetcore3.1", "MemorySize": 256, "Timeout": 30, "Code": { "S3Bucket": "", "S3Key": "" } } }, "StateMachine": { "Type": "AWS::StepFunctions::StateMachine", "Properties": { "RoleArn": { "Fn::GetAtt": [ "StateMachineRole", "Arn" ] }, "DefinitionString": { "Fn::Sub": "" } } }, "LambdaRole": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": [ "sts:AssumeRole" ], "Effect": "Allow", "Principal": { "Service": [ "lambda.amazonaws.com" ] } } ] }, "ManagedPolicyArns": [ "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" ] } }, "StateMachineRole": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": { "Fn::Sub": "states.${AWS::Region}.amazonaws.com" } }, "Action": "sts:AssumeRole" } ] }, "Policies": [ { "PolicyName": "StepFunctionLambdaInvoke", "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": "*" } ] } } ] } } }, "Outputs": {} }