{
  "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": "dotnet6",
        "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": "dotnet6",
        "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": {}
}