OBJECT
MessageType
Represents a specific MessageType in the system. All messages sent or received must be loosely associated (via Node and Edge typing) with a MessageType.
link GraphQL Schema definition
- type MessageType {
- # A Python code string that contains a single top-level function definition.
- # This function must have the signature (*, message, **kwargs) where
- # message is a string and must return a flat dictionary.
- String! :
- # A Python code string that contains a single top-level function definition.
- # This function is used as a template when creating custom routing rules in
- # RouterNodes
- # that use this MessageType. This function must have the signature
- # (*, context, message, source, **kwargs) and return an integer.
- String! :
- # When and who created.
- AtBy! :
- # A human-readable description.
- String! :
- # True if this is used by other resources.
- Boolean! :
- # When and who modified.
- AtBy! :
- # The name.
- String! :
- # A Python code string that contains a single top-level function definition.
- # This function is used as a template when creating custom processing in
- # ProcessorNodes
- # that use this MessageType. This function must have the signature
- # (*, context, message, source, **kwargs) and return None, a string or a list of
- # strings.
- String! :
- # README in MarkDown format.
- String :
- # The list of Python requirements, in pip format.
- String!] : [
- # A sample message.
- String! :
- # True if this is an EchoStream system resource.
- Boolean :
- # The Tenant.
- Tenant :
- # Deletes this.
- Boolean! :
- # Lists the changes.
- #
- # Arguments
- # endDateTime: The end date/time (inclusive) to list changes for
- # in ISO8601 format. Defaults to now.
- # exclusiveStartKey: The lastEvaluatedKey from a previous
- # ChangeResult. Used when paginating.
- # limit: Used for limiting the number of results when paginating.
- # Defaults to "all".
- # sortAscending: True for ascending results, False for descending
- # result. Defaults to True.
- # startDateTime: The start date/time (inclusive) to list changes
- # for in ISO8601 format. Defaults to the beginning of time.
- (
- AWSDateTime, :
- AWSJSON, :
- Int, :
- Boolean, :
- AWSDateTime :
- ): ChangeResult!
- # Updates and returns the MessageType.
- #
- # Arguments
- # auditor: A Python code string that contains a single top-level
- # function definition.
- # This function must have the signature (*, message, **kwargs) where
- # message is a string and must return a flat dictionary.
- # bitmapperTemplate: A Python code string that contains a single
- # top-level function definition.
- # This function is used as a template when creating custom routing rules in
- # RouterNodes
- # that use this MessageType. This function must have the signature
- # (*, context, message, source, **kwargs) and return an integer.
- # description: A human-readable description.
- # processorTemplate: A Python code string that contains a single
- # top-level function definition.
- # This function is used as a template when creating custom processing in
- # ProcessorNodes
- # that use this MessageType. This function must have the signature
- # (*, context, message, source, **kwargs) and return None, a string or a list of
- # strings.
- # readme: README in MarkDown format.
- # The README in MarkDown format.
- # requirements: The list of Python requirements, in pip format.
- # sampleMessage: A sample message.
- (
- String, :
- String, :
- String, :
- String, :
- String, :
- String!], : [
- String :
- ): MessageType!
- # Validates the supplied auditor code against the supplied message.
- #
- # Arguments
- # code: The code to validate.
- # message: The message to use for validation.
- # loggingLevel: The loggingLevel to use during the validation.
- # Defaults to INFO.
- String!, : String!, : LogLevel): ValidationResult! ( :
- }
link Require by
- AlertEmitterNodeEmits alert messages. One per Tenant, automatically created when the Tenant is created.
- AppChangeReceiverNodeReceives change messages from the AppChangeRouterNode. One per App, created when the App is created.
- AppChangeRouterNodeRoutes change messages to the appropriate App. One per Tenant, automatically created when the Tenant is created.
- AuditEmitterNodeEmits audit messages. One per Tenant, automatically created when the Tenant is created.
- BitmapperFunctionRepresents a bitmapper function in the Function library. BitmapperFunctions are used in RouterNodes.
- BitmapRouterNodeBitMapRouterNodes use a bitmapper function (either inline or referenced) to construct a bitmap of truthy values for each message processed. The message bitmap is then and'ed with route bitmaps. If the result of the and is equal to the route bitmap then the message is sent along that route.
- ChangeEmitterNodeEmits change messages. One per Tenant, automatically created when the Tenant is created.
- CrossTenantReceivingNodeCreated automatically when the other Tenant's CrossTenantSendingApp has a CrossTenantSendingNode created in it. One per CrossTenantSendingNode.
- CrossTenantSendingNodeAllows for sending messages to another Tenant.
- DeadLetterEmitterNodeEmits dead letters (i.e. - undeliverable messages). One per Tenant, automatically created when the Tenant is created.
- EchoA union of all EchoStream object types
- EdgeTransmits messages between Nodes.
- ExternalNodeA Node that exists outside the EchoStream Cloud. Can be part of an ExternalApp or CrossAccountApp.
- FilesDotComWebhookNode
- LoadBalancerNodeLoad balances received messages across all sendEdges by distributing messages evenly and then randomly distributing any remaining messages. While not required, all Nodes that are targets to a LoadBalancerNode's sendEdges should be clones of each other. By definition will eliminate guaranteed ordering.
- LogEmitterNodeEmits log messages created by various Node types. One per Tenant, automatically created when the Tenant is created.
- ManagedNodeRepresents a ManagedNode. ManagedNodes are instances of Docker containers that exist within ManagedApps.
- ManagedNodeTypeRepresents a ManagedNodeType which may be used to create ManagedNodes. ManagedNodeTypes are wrappers around Docker image definitions and define the requirements necessary to instantiate those images as Docker containers inside a ManagedApp.
- MessageTypeRepresents a specific MessageType in the system. All messages sent or received must be loosely associated (via Node and Edge typing) with a MessageType.
- MessageTypeResultA (possibly) paginated result set.
- MutationRoot Mutation
- ProcessorFunctionA managed Function used in either a ProcessorNode or a CrossTenantSendingNode.
- ProcessorNodeProcessorNodes allow for almost any processing of messages, including transformation, augmentation, generation, combination and splitting.
- QueryRoot Query
- TimerNodeTimerNodes emit echo.timer messages on a time period defined by the scheduleExpression. They can be used to cause other Nodes (normally ProcessorNodes) to perform complex actions on a schedule (e.g. - polling an API every 15 minutes).
- WebhookNodeWebhookNodes allow for receiving of WebHooks from external senders in any JSON mime type. These messages are emitted as-is by the WebHookNode for further processing.
- WebSubHubNodeWebSubHubNodes implement the W3C WebSub Hub feature. They accept echo.websub messages that contain content that requires publishing to subscribers.
- WebSubSubscriptionNode