{

"alb": {
    "attributes": {},
    "name": "alb",
    "required_keys": [
        "httpMethod",
        "requestContext.elb"
    ]
},

"apiGateway": {
    "attributes": {
        "aws.lambda.eventSource.accountId": "requestContext.accountId",
        "aws.lambda.eventSource.apiId": "requestContext.apiId",
        "aws.lambda.eventSource.resourceId": "requestContext.resourceId",
        "aws.lambda.eventSource.resourcePath": "requestContext.resourcePath",
        "aws.lambda.eventSource.stage": "requestContext.stage"
    },
    "name": "apiGateway",
    "required_keys": [
        "headers",
        "httpMethod",
        "path",
        "requestContext",
        "requestContext.stage"
    ]
},

"apiGatewayV2": {
    "attributes": {
        "aws.lambda.eventSource.accountId": "requestContext.accountId",
        "aws.lambda.eventSource.apiId": "requestContext.apiId",
        "aws.lambda.eventSource.stage": "requestContext.stage"
    },
    "name": "apiGatewayV2",
    "required_keys": [
        "version",
        "headers",
        "requestContext.http",
        "requestContext.http.path",
        "requestContext.http.method",
        "requestContext.stage"
    ]
},

"cloudFront": {
    "attributes": {},
    "name": "cloudFront",
    "required_keys": [
        "Records[0].cf"
    ]
},

"cloudWatchScheduled": {
    "attributes": {
        "aws.lambda.eventSource.account": "account",
        "aws.lambda.eventSource.id": "id",
        "aws.lambda.eventSource.region": "region",
        "aws.lambda.eventSource.resource": "resources[0]",
        "aws.lambda.eventSource.time": "time"
    },
    "name": "cloudWatch_scheduled",
    "required_keys": [
        "detail-type",
        "source"
    ]
},

"dynamoStreams": {
    "attributes": {
        "aws.lambda.eventSource.length": "Records.length"
    },
    "name": "dynamo_streams",
    "required_keys": [
        "Records[0].dynamodb"
    ]
},

"firehose": {
    "attributes": {
        "aws.lambda.eventSource.length": "records.length",
        "aws.lambda.eventSource.region": "region"
    },
    "name": "firehose",
    "required_keys": [
        "deliveryStreamArn",
        "records[0].kinesisRecordMetadata"
    ]
},

"kinesis": {
    "attributes": {
        "aws.lambda.eventSource.length": "Records.length",
        "aws.lambda.eventSource.region": "Records[0].awsRegion"
    },
    "name": "kinesis",
    "required_keys": [
        "Records[0].kinesis"
    ]
},

"s3": {
    "attributes": {
        "aws.lambda.eventSource.bucketName": "Records[0].s3.bucket.name",
        "aws.lambda.eventSource.eventName": "Records[0].eventName",
        "aws.lambda.eventSource.eventTime": "Records[0].eventTime",
        "aws.lambda.eventSource.length": "Records.length",
        "aws.lambda.eventSource.objectKey": "Records[0].s3.object.key",
        "aws.lambda.eventSource.objectSequencer": "Records[0].s3.object.sequencer",
        "aws.lambda.eventSource.objectSize": "Records[0].s3.object.size",
        "aws.lambda.eventSource.region": "Records[0].awsRegion"
    },
    "name": "s3",
    "required_keys": [
        "Records[0].s3"
    ]
},

"ses": {
    "attributes": {
        "aws.lambda.eventSource.date": "Records[0].ses.mail.commonHeaders.date",
        "aws.lambda.eventSource.length": "Records.length",
        "aws.lambda.eventSource.messageId": "Records[0].ses.mail.commonHeaders.messageId",
        "aws.lambda.eventSource.returnPath": "Records[0].ses.mail.commonHeaders.returnPath"
    },
    "name": "ses",
    "required_keys": [
        "Records[0].ses"
    ]
},

"sns": {
    "attributes": {
        "aws.lambda.eventSource.length": "Records.length",
        "aws.lambda.eventSource.messageId": "Records[0].Sns.MessageId",
        "aws.lambda.eventSource.timestamp": "Records[0].Sns.Timestamp",
        "aws.lambda.eventSource.topicArn": "Records[0].Sns.TopicArn",
        "aws.lambda.eventSource.type": "Records[0].Sns.Type"
    },
    "name": "sns",
    "required_keys": [
        "Records[0].Sns"
    ]
},

"sqs": {
    "attributes": {
        "aws.lambda.eventSource.length": "Records.length"
    },
    "name": "sqs",
    "required_keys": [
        "Records[0].receiptHandle"
    ]
}

}