# General Nodes
# Node: EventListener
This node works as the inbound node for a flow. EventListener node is the key node which makes the runtime aware of its function provider i.e AWS Lambda, Azure function or KumoHub.
Event Listener node supports various event sources depending on selected cloud provider.
# Properties
Provider
: Cloud provider, one of:AWS
,Azure
,NodeJS
# Provider: AWS
The following event sources are supported for AWS provider:
# Amazon DynamoDB
# Parameters:
Operation
: DynamoDB operation that will call listener, one of: ALL (all operations), INSERT, MODIFY, REMOVE
# Amazon API Gateway
# Parameters:
Verb
: One of http verbs: GET, POST, PUT, DELETE, PATCH, or * for anyURL
: The http resource. It may include path parameters, for example/accounts/:accountId
.
# WebSocket
# Parameters:
Route
: One of: $connect, $disconnect, $default, customRoute Name
: Custom Route name.
# Amazon Alexa
This event source has no properties.
# Amazon Lex
This event source has no properties.
# Amazon Cognito
# Parameters:
Trigger
: Cognito trigger, one of:*
: any triggerPreSignUp SignUp
PreSignUp AdminCreateUser
PostConfirmation ConfirmSignUp
PostConfirmation ConfirmForgotPassword
Authentication PreAuthentication
Authentication PostAuthentication
Authentication DefineAuthChallenge
Authentication CreateAuthChallenge
Authentication VerifyAuthChallengeResponse
TokenGeneration HostedAuth
TokenGeneration Authentication
TokenGeneration NewPasswordChallenge
TokenGeneration AuthenticateDevice
TokenGeneration RefreshTokens
UserMigration Authentication
UserMigration ForgotPassword
CustomMessage SignUp
CustomMessage AdminCreateUser
CustomMessage ResendCode
CustomMessage ForgotPassword
CustomMessage UpdateUserAttribute
CustomMessage VerifyUserAttribute
CustomMessage Authentication
# Application Load Balancer
# Parameters:
Verb
: One of http verbs: GET, POST, PUT, DELETE, PATCH, or * for anyURL
: The http resource. It may include path parameters, for example/accounts/:accountId
.
# Amazon S3
Bucket Name
: The name of the bucket to process events from. If this name is left empty then event is triggered for any bucket the flow is connected to.Operation
: Bucket operation, one of:*
: any triggers3:TestEvent
s3:ObjectCreated:*
s3:ObjectCreated:Put
s3:ObjectCreated:Post
s3:ObjectCreated:Copy
s3:ObjectCreated:CompleteMultipartUpload
s3:ObjectRemoved:*
s3:ObjectRemoved:Delete
s3:ObjectRemoved:DeleteMarkerCreated
s3:ObjectRestore:*
s3:ObjectRestore:Post
s3:ObjectRestore:Completed
s3:ObjectRestore:Delete
s3:ReducedRedundancyLostObject
s3:Replication:*
s3:Replication:OperationMissedThreshold
s3:Replication:OperationReplicatedAfterThreshold
s3:Replication:OperationNotTracked
s3:LifecycleExpiration:*
s3:LifecycleExpiration:Delete
s3:LifecycleExpiration:DeleteMarkerCreated
s3:LifecycleTransition
s3:IntelligentTiering
s3:ObjectTagging:*
s3:ObjectTagging:Put
s3:ObjectTagging:Delete
s3:ObjectAcl:Put
Key Prefix
: The prefix of file name to filter, optionalKey Suffix
: The suffix of file name to filter, optional
# Amazon SNS
Topic Name
: The name of the topic to process events from. If this name is left empty then event is processed without checking the topic name.
# Amazon SQS
# Parameters:
Queue Name
: The name of the queue to process events from. If this name is left empty then event is processed without checking the queue name.
# Amazon Cloud Formation
This event source has no properties.
# Amazon CloudWatch Logs
This event source has no properties. The logs passed by AWS to the flows are zipped. It is left to flow logic to unzip data at the start of the flow before implementing logic.
# Amazon CloudWatch Events
# Parameters:
Reference
: For the project having multiple cloud watch events this parameter uniquely identifies what event specific listener handles. In such a case event must comply with following matching rules:
{
"source": "SOURCE DESCRIPTION",
"detail": {
"type": ["kumologica-event"],
"reference": [REFERENCE HERE]
}
}
This parameter is not required for single cloud watch event listener, in this case every event will be handled by the listener and it is up to flow logic to process event.
# Amazon EventBridge Partner Event
# Parameters:
Detail Type
: The value ofdetail-type
item of the event. If value is not provided then Event Listener will accept any event that reached lambda. Ifdetail-type
has been provided then Event Listener will only accept event which detail-type exactly matches the value entered.
# Amazon CodeCommit
This event source has no properties.
# Amazon Config
This event source has no properties.
# Amazon IoT Events
This event source has no properties.
# Amazon Lambda
This event source accepts any format of the event. If flow contains multiple Event Listeners then most specific listeners will be checked and if none are matching event type then Amazon Lambda will be invoked if present. This event source is useful for building api gateway authorizers, lambda to lambda calls or any other use cases where event structure is different than the event sources predefined by Event Listener.
# Provider: Azure
The following event sources are supported for Azure provider:
# API Gateway
# Properties
Verb
: One of http verbs: GET, POST, PUT, DELETE, PATCH, or * for anyURL
: The http resource. It may include path parameters, for example/accounts/:accountId
.
# Node: EventListener End
This node completes the flow logic that has been started by EventListener
or Catch
nodes. It is always last node in the flow composition.
It is good practice to use EventListener End
node only in a flows initiated by EventListener
or Catch
nodes.
This node provides option for setting the HTTP status code, HTTP headers and HTTP response when the EventListener
node is having API Gateway or Application load balancer as the event source.
# Properties
The properties are applicable for API Gateway
and Application Load Balancer
event sources. All of them will be returned to the client calling Kumologica service.
Response Type
- either Http Response or Custom Response. In most cases Http Response is used.
# Http Response
Response used by most of predefined event types.
Status Code
- Http status code.Headers
- List of http headers (key, value pairs)Payload
- Payload to return to the caller.
# Custom Response
Custom Response is needed when building lambda for api gateway authorizers or cognito triggers or any other use case that does not accept http response and require their own specific response format.
Message Type
- Either Success or ErrorPayload
- Payload to be returned.