!q      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                   (Types for SQS and SNS message attributesNone%None  Types for Kinesis Lambda eventsNone"# !"&'()*+,-."! .-,+*)('& experimentalPOSIXNone-d/serverless-haskellProcess incoming events from serverless-haskell using a provided function.{The handler receives the input event given to the AWS Lambda function, and its return value is returned from the function.This is intended to be used as main, for example: import qualified Data.Aeson as Aeson import AWSLambda main = lambdaMain handler handler :: Aeson.Value -> IO [Int] handler evt = do putStrLn "This should go to logs" print evt pure [1, 2, 3]oThe handler function can receive arbitrary JSON values from custom invocations, or one of the events from the AWSLambda.Events module, such as  : cimport AWSLambda.Events.S3Event handler :: S3Event -> IO () handler evt = do print $ records evtFIf the Lambda function needs to process several types of events, use  to combine several handlers: import AWSLambda import AWSLambda.Events.S3Event import Data.Aeson import Data.Aeson.Alternative main = lambdaMain $ handlerS3 `alternative` handlerCustom handlerS3 :: S3Event -> IO () handlerS3 = _ handlerCustom :: Value -> IO () handlerCustom = _When run outside the AWS Lambda environment, the input is read as JSON from the command line, and the result of the execution is printed, also as JSON, to the standard output./serverless-haskellFunction to process the event//None1M-Types for S3 Lambda eventsNone"#.A456:;>=<?CDIHGFEJKLPQRSTUVW[\^]_cdhgfeijnoxwvutsrqpyz{|A456?:;>=<LKJCDIHGFEWVUTSPQR_[\^]jicdhgfe|{zynoxwvutsrqp experimentalNone3eserverless-haskell4One of the two values that has been parsed from JSONserverless-haskell>Handle either of the two types that have been parsed from JSON9Type for a JSON value embedded within a JSON string valueNone"#M5serverless-haskell9Type for a JSON value embedded within a JSON string value 5Type for things that can be embedded in a JSON stringNone"#M7S Types for SQS Lambda eventsNone"#7:{serverless-haskell,A Traversal to get messages from an SQSEventserverless-haskell8A Traversal to get embedded JSON values from an SQSEvent Types for SNS Lambda eventsNone"#7CCserverless-haskellSNSEvent. The message9 type is parameterised. To treat it as a text value use  SNSEvent Text/. To extract an embedded event object use the  type. E.g. SNSEvent (Embedded S3Event)a will treat the message as an embedded S3Event. To extract embedded Base64 encoded binary use SNSEvent Base64serverless-haskell,A Traversal to get messages from an SNSEventserverless-haskell8A Traversal to get embedded JSON values from an SNSEvent&& None7Rserverless-haskellfSum type for all possible Lambda events. Parameterised on the type of SNS Events to be handled. See SNSEvent for details.serverless-haskellNot yet implementedserverless-haskellNot yet implementedserverless-haskellNot yet implementedserverless-haskellNot yet implementedserverless-haskellNot yet implementedserverless-haskellNot yet implementedserverless-haskellNot yet implemented serverless-haskellNot yet implemented serverless-haskellNot yet implemented serverless-haskellNot yet implemented serverless-haskellNot yet implemented serverless-haskellNot yet implementedserverless-haskellNot yet implementedserverless-haskellNot yet implementedserverless-haskellNot yet implementedserverless-haskellzAttempt to parse the various event types. Any valid JSON that can't be parsed as a specific event type will result in a  value.8      !"#$%8     %$#"!  experimentalPOSIXNoneT9/      !"#$%/ 2Types for APIGateway Lambda requests and responsesNone"#7mserverless-haskell%Get the request body, if there is oneserverless-haskell.Get the embedded request body, if there is oneserverless-haskell=Get the binary (decoded Base64) request body, if there is oneserverless-haskellProcess incoming events from serverless-haskell using a provided function.This is a specialisation of / for API Gateway.zThe handler receives the input event given to the AWS Lambda function, and its return value is returned from the function.This is intended to be used as main, for example: yimport AWSLambda.Events.APIGateway import Control.Lens import Data.Aeson import Data.Aeson.Embedded main = apiGatewayMain handler handler :: APIGatewayProxyRequest (Embedded Value) -> IO (APIGatewayProxyResponse (Embedded [Int])) handler request = do putStrLn "This should go to logs" print $ request ^. requestBody pure $ responseOK & responseBodyEmbedded ?~ [1, 2, 3]The type parameters reqBody and resBodyE represent the types of request and response body, respectively. The FromText and ToText contraints are required because these values come from string fields in the request and response JSON objects. To get direct access to the body string, use TextT as the parameter type. To treat the body as a stringified embedded JSON value, use  Embedded a, where a has the appropriate FromJSON or ToJSON< instances. To treat the body as base 64 encoded binary use Base64.serverless-haskellFunction to process the eventi&'210/.-,+*)(3456789:;<@ADCBEFGHIJKLMNOST_^]\[ZYXWVU`abfgponmlkjihqrstuvwxyz{i;:9876543&'210/.-,+*)(<ONMLKJIHGFE@ADCBba`ST_^]\[ZYXWVU{zyxwvutsrqfgponmlkjihSafeq} !!"#$%&''()*+,-./0123456789:;<=>?@ABCCDEFGHHIJKLMNOPPQRSTUVWXYZ[\\]^_`abcdeffghijklmmnopqrstuvwwxyz{|}~                                                             ! " # $ % & ' ( ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A A B C D E F G H I J K L M N O P Q R S S T U V W X Y Z [ \ ] ^ _ ` a b c d e e f g h i j k l m n o p q r s t u v w x y z { | } ~ ~                               0serverless-haskell-0.11.2-8mm2u3NWLvXKEDglLwjdRN!AWSLambda.Events.MessageAttributeAWSLambda.Events.RecordsAWSLambda.Events.KinesisEventAWSLambda.HandlerAWSLambda.OrphansAWSLambda.Events.S3EventData.Aeson.AlternativeData.Aeson.EmbeddedData.Aeson.TextValueAWSLambda.Events.SQSEventAWSLambda.Events.SNSEventAWSLambda.EventsAWSLambda.Events.APIGatewayS3Event Data.Aeson Alternative AWSLambdaPaths_serverless_haskellMessageAttribute_maType_maValue$fEqMessageAttribute$fShowMessageAttribute$fFromJSONMessageAttributemaTypemaValue RecordsEvent _reRecords$fFromJSONRecordsEvent$fEqRecordsEvent$fShowRecordsEvent reRecords KinesisRecord _krRecord_krKinesisSchemaVersion$fFromJSONKinesisRecord$fEqKinesisRecord$fShowKinesisRecordKinesisEventRecord _kerKinesis_kerEventSource _kerEventID_kerInvokeIdentityArn_kerEventVersion _kerEventName_kerEventSourceARN _kerAwsRegionkrKinesisSchemaVersionkrRecord$fEqKinesisEventRecord$fShowKinesisEventRecord$fFromJSONKinesisEventRecord KinesisEvent kerAwsRegion kerEventID kerEventNamekerEventSourcekerEventSourceARNkerEventVersionkerInvokeIdentityArn kerKinesis lambdaMain$fFromJSONEvent$fFromJSONETag$fFromJSONObjectVersionId$fFromJSONObjectKeyUserIdentityEntity_uiePrincipalId$fEqUserIdentityEntity$fShowUserIdentityEntity$fFromJSONUserIdentityEntityS3BucketEntity_sbeArn_sbeName_sbeOwnerIdentityuiePrincipalId$fEqS3BucketEntity$fShowS3BucketEntity$fFromJSONS3BucketEntityS3ObjectEntity_soeETag_soeKey_soeSize _soeSequencer _soeVersionIdsbeArnsbeNamesbeOwnerIdentity$fEqS3ObjectEntity$fShowS3ObjectEntity$fFromJSONS3ObjectEntityRequestParametersEntity_rpeSourceIPAddresssoeETagsoeKey soeSequencersoeSize soeVersionId$fEqRequestParametersEntity$fShowRequestParametersEntity!$fFromJSONRequestParametersEntityResponseElementsEntity _reeXAmzId2_reeXAmzRequestIdrpeSourceIPAddress $fFromJSONResponseElementsEntity$fEqResponseElementsEntity$fShowResponseElementsEntityS3Entity _seBucket_seConfigurationId _seObject_seS3SchemaVersion reeXAmzId2reeXAmzRequestId $fEqS3Entity$fShowS3Entity$fFromJSONS3EntityS3EventNotification _senAwsRegion _senEventName_senEventSource _senEventTime_senEventVersion_senRequestParameters_senResponseElements_senS3_senUserIdentityseBucketseConfigurationIdseObjectseS3SchemaVersion$fFromJSONS3EventNotification$fEqS3EventNotification$fShowS3EventNotification senAwsRegion senEventNamesenEventSource senEventTimesenEventVersionsenRequestParameterssenResponseElementssenS3senUserIdentityAlternativeJSON alternative$fFromJSONAlternativeJSON$fEqAlternativeJSON$fOrdAlternativeJSON$fShowAlternativeJSONEmbedded_unEmbed$fToJSONEmbedded$fToTextEmbedded$fFromJSONEmbedded$fFromTextEmbedded $fEqEmbedded$fShowEmbeddedunEmbed TextValue _unTextValue$fToJSONTextValue$fFromJSONTextValue $fEqTextValue$fShowTextValue$fIsStringTextValue unTextValue SQSMessage_sqsmMessageId_sqsmReceiptHandle _sqsmBody_sqsmAttributes_sqsmMessageAttributes_sqsmMd5OfBody_sqsmEventSource_sqsmEventSourceARN_sqsmAwsRegion$fFromJSONSQSMessage$fShowSQSMessage$fEqSQSMessage$fGenericSQSMessageSQSEventsqsmAttributes sqsmAwsRegionsqsmBodysqsmEventSourcesqsmEventSourceARN sqsmMd5OfBodysqsmMessageAttributes sqsmMessageIdsqsmReceiptHandle sqsMessages sqsEmbedded sqsBinary SNSMessage _smMessage_smMessageAttributes _smMessageId _smSignature_smSignatureVersion_smSigningCertUrl _smSubject _smTimestamp _smTopicArn_smType_smUnsubscribeUrl$fFromJSONSNSMessage$fEqSNSMessage$fShowSNSMessage$fGenericSNSMessage SNSRecord_srEventVersion_srEventSubscriptionArn_srEventSource_srSns smMessagesmMessageAttributes smMessageId smSignaturesmSignatureVersionsmSigningCertUrl smSubject smTimestamp smTopicArnsmTypesmUnsubscribeUrl$fFromJSONSNSRecord $fEqSNSRecord$fShowSNSRecord$fGenericSNSRecordSNSEvent srEventSourcesrEventSubscriptionArnsrEventVersionsrSnsmessagesembeddedbinary LambdaEventS3DynamoDB KinesisStreamSNSSQSSESCognitoCloudFormationCloudWatchLogsCloudWatchEvents CodeCommitConfigAlexaLex APIGateway IoTButton CloudFrontFirehoseInvokeCustom InvokeEvent FirehoseEventCloudFrontEventIoTButtonEventAPIGatewayEventLexEvent AlexaEvent ConfigEventCodeCommitEventCloudWatchEventsEventCloudWatchLogsEventCloudFormationEvent CognitoEventSESEvent DynamoDBEvent$fFromJSONLambdaEvent_S3 _DynamoDB_KinesisStream_SNS_SQS_SES_Cognito_CloudFormation_CloudWatchLogs_CloudWatchEvents _CodeCommit_Config_Alexa_Lex _APIGateway _IoTButton _CloudFront _Firehose_Invoke_CustomRequestIdentity_riCognitoIdentityPoolId _riAccountId_riCognitoIdentityId _riCaller _riApiKey _riSourceIp_riCognitoAuthenticationType _riCognitoAuthenticationProvider _riUserArn _riUserAgent_riUser StageVarValue StageVarNamePathParamValue PathParamNameQueryParamValueQueryParamName HeaderValue HeaderNameMethod readParse$fFromJSONRequestIdentity$fEqRequestIdentity$fShowRequestIdentity Authorizer _aPrincipalId_aClaims _aContext riAccountIdriApiKeyriCallerriCognitoAuthenticationProviderriCognitoAuthenticationTyperiCognitoIdentityIdriCognitoIdentityPoolId riSourceIpriUser riUserAgent riUserArn$fFromJSONAuthorizer$fEqAuthorizer$fShowAuthorizerProxyRequestContext_prcPath _prcAccountId_prcResourceId _prcStage _prcRequestId _prcIdentity_prcResourcePath_prcHttpMethod _prcApiId _prcProtocol_prcAuthorizeraClaimsaContext aPrincipalId$fEqProxyRequestContext$fShowProxyRequestContext$fFromJSONProxyRequestContextAPIGatewayProxyRequest_agprqResource _agprqPath_agprqHttpMethod _agprqHeaders_agprqQueryStringParameters_agprqPathParameters_agprqStageVariables_agprqRequestContext _agprqBody prcAccountIdprcApiId prcAuthorizer prcHttpMethod prcIdentityprcPath prcProtocol prcRequestId prcResourceIdprcResourcePathprcStage $fFromJSONAPIGatewayProxyRequest$fEqAPIGatewayProxyRequest$fShowAPIGatewayProxyRequest$fGenericAPIGatewayProxyRequestAPIGatewayProxyResponse_agprsStatusCode _agprsHeaders _agprsBody agprqBody agprqHeadersagprqHttpMethod agprqPathagprqPathParametersagprqQueryStringParametersagprqRequestContext agprqResourceagprqStageVariables requestBodyrequestBodyEmbeddedrequestBodyBinary!$fFromJSONAPIGatewayProxyResponse$fToJSONAPIGatewayProxyResponse$fEqAPIGatewayProxyResponse$fShowAPIGatewayProxyResponse $fGenericAPIGatewayProxyResponse agprsBody agprsHeadersagprsStatusCoderesponse responseOKresponseNotFoundresponseBadRequest responseBodyresponseBodyEmbeddedresponseBodyBinaryapiGatewayMainversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName