# 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 any
  • URL: The http resource. It may include path parameters, for example /accounts/:accountId.

# WebSocket

# Parameters:
  • Route: One of: $connect, $disconnect, $default, custom
  • Route 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 trigger
    • PreSignUp 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 any
  • URL: 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 trigger
    • s3: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, optional
  • Key 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 of detail-type item of the event. If value is not provided then Event Listener will accept any event that reached lambda. If detail-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 any
  • URL: 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 Error
  • Payload - Payload to be returned.