Open armanbilge opened 2 years ago
@armanbilge we talked on discord, for the purposes of project management I'll be looking at the SQS event first.
@bpholt I've again arrived at the opinion that the CloudFormationCustomResourceEvent
should probably join the rest of the events in this module 😅 these are my assumptions:
feral-lambda-events
module, to host these events.feral-lambda-events
, they should all be there :)I could be wrong about (1). When we figure out how to deploy these things, maybe each type of Lambda will have to be treated differently anyway? I hope not.
For feral-lambda to be useful for the "zoo" of Lambda types available on AWS, we need to provide models for the various events (aka "triggers") and responses used by each of these lambdas. These will live in the
feral-lambda-events
module.We are currently sourcing them from the Java and JavaScript/TypeScript implementations.
The TypeScript definitions are especially important, because they are the definitive representation of these events as "plain old JavaScript objects" which is isomorphic to their JSON representation. Therefore, our models should match them exactly in name, structure, etc. in order for parsing to work correctly.
For an example of this, see the existing events: https://github.com/typelevel/feral/blob/main/lambda/shared/src/main/scala/feral/lambda/events/
ActiveMQEvent
APIGatewayCustomAuthorizerEvent
APIGatewayProxyRequestEvent
https://github.com/typelevel/feral/pull/409APIGatewayProxyResponseEvent
https://github.com/typelevel/feral/pull/409APIGatewayV2CustomAuthorizerEvent
APIGatewayV2HTTPEvent
APIGatewayV2HTTPResponse
APIGatewayV2WebSocketEvent
https://github.com/typelevel/feral/pull/476APIGatewayV2WebSocketResponse
https://github.com/typelevel/feral/pull/476ApplicationLoadBalancerRequestEvent
ApplicationLoadBalancerResponseEvent
AppSyncLambdaAuthorizerEvent
AppSyncLambdaAuthorizerResponse
CloudFormationCustomResourceEvent
CloudFrontEvent
CloudWatchLogsEvent
CodeCommitEvent
CognitoEvent
CognitoUserPoolCreateAuthChallengeEvent
CognitoUserPoolCustomMessageEvent
CognitoUserPoolDefineAuthChallengeEvent
CognitoUserPoolEvent
CognitoUserPoolMigrateUserEvent
CognitoUserPoolPostAuthenticationEvent
CognitoUserPoolPostConfirmationEvent
CognitoUserPoolPreAuthenticationEvent
CognitoUserPoolPreSignUpEvent
CognitoUserPoolPreTokenGenerationEvent
CognitoUserPoolVerifyAuthChallengeResponseEvent
ConfigEvent
ConnectEvent
DynamodbEvent
https://github.com/typelevel/feral/pull/68IoTButtonEvent
KafkaEvent
KinesisAnalyticsFirehoseInputPreprocessingEvent
KinesisAnalyticsInputPreprocessingResponse
KinesisAnalyticsOutputDeliveryEvent
KinesisAnalyticsOutputDeliveryResponse
KinesisAnalyticsStreamsInputPreprocessingEvent
KinesisEvent
https://github.com/typelevel/feral/pull/75KinesisFirehoseEvent
LambdaDestinationEvent
LexEvent
RabbitMQEvent
S3BatchEvent
https://github.com/typelevel/feral/pull/231S3BatchResponse
https://github.com/typelevel/feral/pull/231S3Event
https://github.com/typelevel/feral/pull/354ScheduledEvent
SecretsManagerRotationEvent
SimpleIAMPolicyResponse
SNSEvent
https://github.com/typelevel/feral/pull/195SQSEvent
https://github.com/typelevel/feral/pull/58