{
  "Description": "Root Stack for AWS Amplify Console",
  "AWSTemplateFormatVersion": "2010-09-09",
  "Parameters": {
    "DeploymentBucketName": {
      "Type": "String",
      "Default": "DeploymentBucket",
      "Description": "Name of the common deployment bucket provided by the parent stack"
    },
    "AuthRoleName": {
      "Type": "String",
      "Default": "AuthRoleName",
      "Description": "Name of the common deployment bucket provided by the parent stack"
    },
    "UnauthRoleName": {
      "Type": "String",
      "Default": "UnAuthRoleName",
      "Description": "Name of the common deployment bucket provided by the parent stack"
    }
  },
  "Outputs": {
    "Region": {
      "Description": "CloudFormation provider root stack Region",
      "Value": {
        "Ref": "AWS::Region"
      },
      "Export": {
        "Name": {
          "Fn::Sub": "${AWS::StackName}-Region"
        }
      }
    },
    "StackName": {
      "Description": "CloudFormation provider root stack ID",
      "Value": {
        "Ref": "AWS::StackName"
      },
      "Export": {
        "Name": {
          "Fn::Sub": "${AWS::StackName}-StackName"
        }
      }
    },
    "StackId": {
      "Description": "CloudFormation provider root stack name",
      "Value": {
        "Ref": "AWS::StackId"
      },
      "Export": {
        "Name": {
          "Fn::Sub": "${AWS::StackName}-StackId"
        }
      }
    },
    "AuthRoleArn": {
      "Value": {
        "Fn::GetAtt": [
          "AuthRole",
          "Arn"
        ]
      }
    },
    "UnauthRoleArn": {
      "Value": {
        "Fn::GetAtt": [
          "UnauthRole",
          "Arn"
        ]
      }
    },
    "DeploymentBucketName": {
      "Description": "CloudFormation provider root stack deployment bucket name",
      "Value": {
        "Ref": "DeploymentBucketName"
      },
      "Export": {
        "Name": {
          "Fn::Sub": "${AWS::StackName}-DeploymentBucketName"
        }
      }
    },
    "AuthRoleName": {
      "Value": {
        "Ref": "AuthRole"
      }
    },
    "UnauthRoleName": {
      "Value": {
        "Ref": "UnauthRole"
      }
    }
  },
  "Resources": {
    "DeploymentBucket": {
      "Type": "AWS::S3::Bucket",
      "Properties": {
        "BucketName": {
          "Ref": "DeploymentBucketName"
        },
        "BucketEncryption": {
          "ServerSideEncryptionConfiguration": [
            {
              "ServerSideEncryptionByDefault": {
                "SSEAlgorithm": "AES256"
              }
            }
          ]
        }
      },
      "UpdateReplacePolicy": "Retain",
      "DeletionPolicy": "Retain"
    },
    "AuthRole": {
      "Type": "AWS::IAM::Role",
      "Properties": {
        "AssumeRolePolicyDocument": {
          "Version": "2012-10-17",
          "Statement": [
            {
              "Sid": "",
              "Effect": "Deny",
              "Principal": {
                "Federated": "cognito-identity.amazonaws.com"
              },
              "Action": "sts:AssumeRoleWithWebIdentity"
            }
          ]
        },
        "RoleName": {
          "Ref": "AuthRoleName"
        }
      }
    },
    "UnauthRole": {
      "Type": "AWS::IAM::Role",
      "Properties": {
        "AssumeRolePolicyDocument": {
          "Version": "2012-10-17",
          "Statement": [
            {
              "Sid": "",
              "Effect": "Deny",
              "Principal": {
                "Federated": "cognito-identity.amazonaws.com"
              },
              "Action": "sts:AssumeRoleWithWebIdentity"
            }
          ]
        },
        "RoleName": {
          "Ref": "UnauthRoleName"
        }
      }
    },
    "apiamplifiedchatapp": {
      "Type": "AWS::CloudFormation::Stack",
      "Properties": {
        "TemplateURL": "https://s3.amazonaws.com/amplify-amplifiedchatapp-dev-155752-deployment/amplify-cfn-templates/api/cloudformation-template.json",
        "Parameters": {
          "AppSyncApiName": "amplifiedchatapp",
          "DynamoDBBillingMode": "PAY_PER_REQUEST",
          "DynamoDBEnableServerSideEncryption": false,
          "S3DeploymentBucket": "amplify-amplifiedchatapp-dev-155752-deployment",
          "S3DeploymentRootKey": "amplify-appsync-files/e2531fd98cc3dae8069ec1e9823d8459964dbea2",
          "env": "dev"
        }
      }
    },
    "functionactivityService": {
      "Type": "AWS::CloudFormation::Stack",
      "Properties": {
        "TemplateURL": "https://s3.amazonaws.com/amplify-amplifiedchatapp-dev-155752-deployment/amplify-cfn-templates/function/activityService-cloudformation-template.json",
        "Parameters": {
          "apiGraphQLAPIIdOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIIdOutput"
            ]
          },
          "apiGraphQLAPIEndpointOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIEndpointOutput"
            ]
          },
          "apiGraphQLAPIKeyOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIKeyOutput"
            ]
          },
          "CloudWatchRule": "rate(1 hour)",
          "deploymentBucketName": "amplify-amplifiedchatapp-dev-155752-deployment",
          "s3Key": "amplify-builds/activityService-347733617765554e5143-build.zip",
          "env": "dev"
        }
      }
    },
    "functionchannelPoolService": {
      "Type": "AWS::CloudFormation::Stack",
      "Properties": {
        "TemplateURL": "https://s3.amazonaws.com/amplify-amplifiedchatapp-dev-155752-deployment/amplify-cfn-templates/function/channelPoolService-cloudformation-template.json",
        "Parameters": {
          "apiGraphQLAPIIdOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIIdOutput"
            ]
          },
          "apiGraphQLAPIEndpointOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIEndpointOutput"
            ]
          },
          "apiGraphQLAPIKeyOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIKeyOutput"
            ]
          },
          "CloudWatchRule": "cron(0/5 * * * ? *)",
          "deploymentBucketName": "amplify-amplifiedchatapp-dev-155752-deployment",
          "s3Key": "amplify-builds/channelPoolService-794f4e39546c71737a59-build.zip",
          "apiamplifiedchatappGraphQLAPIIdOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIIdOutput"
            ]
          },
          "apiamplifiedchatappGraphQLAPIEndpointOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIEndpointOutput"
            ]
          },
          "apiamplifiedchatappGraphQLAPIKeyOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIKeyOutput"
            ]
          },
          "env": "dev"
        }
      }
    },
    "functionputChannel": {
      "Type": "AWS::CloudFormation::Stack",
      "Properties": {
        "TemplateURL": "https://s3.amazonaws.com/amplify-amplifiedchatapp-dev-155752-deployment/amplify-cfn-templates/function/putChannel-cloudformation-template.json",
        "Parameters": {
          "apiGraphQLAPIIdOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIIdOutput"
            ]
          },
          "apiGraphQLAPIEndpointOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIEndpointOutput"
            ]
          },
          "apiGraphQLAPIKeyOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIKeyOutput"
            ]
          },
          "deploymentBucketName": "amplify-amplifiedchatapp-dev-155752-deployment",
          "s3Key": "amplify-builds/putChannel-6f636631306d73734545-build.zip",
          "env": "dev"
        }
      }
    },
    "functionvideoConvertService": {
      "Type": "AWS::CloudFormation::Stack",
      "Properties": {
        "TemplateURL": "https://s3.amazonaws.com/amplify-amplifiedchatapp-dev-155752-deployment/amplify-cfn-templates/function/videoConvertService-cloudformation-template.json",
        "Parameters": {
          "apiGraphQLAPIIdOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIIdOutput"
            ]
          },
          "apiGraphQLAPIEndpointOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIEndpointOutput"
            ]
          },
          "apiGraphQLAPIKeyOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIKeyOutput"
            ]
          },
          "apiAppName": "apiamplifiedchatapp",
          "deploymentBucketName": "amplify-amplifiedchatapp-dev-155752-deployment",
          "s3Key": "amplify-builds/videoConvertService-5674575a31786f424535-build.zip",
          "env": "dev"
        }
      }
    },
    "functionvideoService": {
      "Type": "AWS::CloudFormation::Stack",
      "Properties": {
        "TemplateURL": "https://s3.amazonaws.com/amplify-amplifiedchatapp-dev-155752-deployment/amplify-cfn-templates/function/videoService-cloudformation-template.json",
        "Parameters": {
          "apiGraphQLAPIIdOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIIdOutput"
            ]
          },
          "apiGraphQLAPIEndpointOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIEndpointOutput"
            ]
          },
          "apiGraphQLAPIKeyOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIKeyOutput"
            ]
          },
          "deploymentBucketName": "amplify-amplifiedchatapp-dev-155752-deployment",
          "s3Key": "amplify-builds/videoService-3138392b57416e397372-build.zip",
          "env": "dev"
        }
      }
    },
    "functionvideoTaskHandler": {
      "Type": "AWS::CloudFormation::Stack",
      "Properties": {
        "TemplateURL": "https://s3.amazonaws.com/amplify-amplifiedchatapp-dev-155752-deployment/amplify-cfn-templates/function/videoTaskHandler-cloudformation-template.json",
        "Parameters": {
          "deploymentBucketName": "amplify-amplifiedchatapp-dev-155752-deployment",
          "s3Key": "amplify-builds/videoTaskHandler-6d43793546334170754f-build.zip",
          "apiamplifiedchatappGraphQLAPIIdOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIIdOutput"
            ]
          },
          "apiamplifiedchatappGraphQLAPIEndpointOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIEndpointOutput"
            ]
          },
          "apiamplifiedchatappGraphQLAPIKeyOutput": {
            "Fn::GetAtt": [
              "apiamplifiedchatapp",
              "Outputs.GraphQLAPIKeyOutput"
            ]
          },
          "env": "dev"
        }
      }
    },
    "hostingamplifyhosting": {
      "Type": "AWS::CloudFormation::Stack",
      "Properties": {
        "TemplateURL": "https://s3.amazonaws.com/amplify-amplifiedchatapp-dev-155752-deployment/amplify-cfn-templates/hosting/amplifyhosting-template.json",
        "Parameters": {
          "appId": "d96o23dpvrhxl",
          "type": "manual",
          "env": "dev"
        }
      }
    }
  }
}