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  )