github.com/Foodji/aws-lambda-go@v1.20.2/events/appsync.go (about) 1 package events 2 3 import "encoding/json" 4 5 // AppSyncResolverTemplate represents the requests from AppSync to Lambda 6 type AppSyncResolverTemplate struct { 7 Version string `json:"version"` 8 Operation AppSyncOperation `json:"operation"` 9 Payload json.RawMessage `json:"payload"` 10 } 11 12 // AppSyncIAMIdentity contains information about the caller authed via IAM. 13 type AppSyncIAMIdentity struct { 14 AccountID string `json:"accountId"` 15 CognitoIdentityPoolID string `json:"cognitoIdentityPoolId"` 16 CognitoIdentityID string `json:"cognitoIdentityId"` 17 SourceIP []string `json:"sourceIp"` 18 Username string `json:"username"` 19 UserARN string `json:"userArn"` 20 } 21 22 // AppSyncCognitoIdentity contains information about the caller authed via Cognito. 23 type AppSyncCognitoIdentity struct { 24 Sub string `json:"sub"` 25 Issuer string `json:"issuer"` 26 Username string `json:"username"` 27 Claims map[string]interface{} `json:"claims"` 28 SourceIP []string `json:"sourceIp"` 29 DefaultAuthStrategy string `json:"defaultAuthStrategy"` 30 } 31 32 // AppSyncOperation specifies the operation type supported by Lambda operations 33 type AppSyncOperation string 34 35 const ( 36 // OperationInvoke lets AWS AppSync know to call your Lambda function for every GraphQL field resolver 37 OperationInvoke AppSyncOperation = "Invoke" 38 // OperationBatchInvoke instructs AWS AppSync to batch requests for the current GraphQL field 39 OperationBatchInvoke AppSyncOperation = "BatchInvoke" 40 )