OBJECT

ProcessorNode

ProcessorNodes allow for almost any processing of messages, including transformation, augmentation, generation, combination and splitting.

link GraphQL Schema definition

  • type ProcessorNode implements Node {
  • # The config, in JSON object format (i.e. - dict, map).
  • config: AWSJSON
  • # When and who created.
  • created: AtBy!
  • # A human-readable description.
  • description: 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.
  • # Mutually exclusive with managedProcessor.
  • inlineProcessor: String
  • # When and who modified.
  • lastModified: AtBy!
  • # The logging level.
  • loggingLevel: LogLevel
  • # The managedProcessor. Mutually exclusive with the inlineProcessor.
  • managedProcessor: ProcessorFunction
  • # The name.
  • name: String!
  • # A list of the Edges messages are received on.
  • receiveEdges: [Edge]
  • # The MessageType that this Node is capable of receiving.
  • receiveMessageType: MessageType
  • # The list of Python requirements, in pip format.
  • requirements: [String!]
  • # A list of the Edges messages are sent on.
  • sendEdges: [Edge]
  • # The MessageType that this Node is capable of sending.
  • sendMessageType: MessageType
  • # True if messages should not be processed concurrently. If False, messages are
  • # processed concurrently.
  • sequentialProcessing: Boolean
  • # Is the Node stopped; null == false.
  • stopped: Boolean
  • # The Tenant.
  • tenant: Tenant!
  • # Deletes this Node and all of its Edges.
  • #
  • # Arguments
  • # drainEdges: If sending Edges attached to this Nodes should be
  • # drained. Defaults to True.
  • Delete(drainEdges: Boolean): 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.
  • ListChanges(
  • endDateTime: AWSDateTime,
  • exclusiveStartKey: AWSJSON,
  • limit: Int,
  • sortAscending: Boolean,
  • startDateTime: AWSDateTime
  • ): ChangeResult!
  • # Lists log events that are emitted by the inlineProcessor/managedProcessor
  • #
  • # Arguments
  • # endDateTime: The end date/time, inclusive, to list the log
  • # events to. Defaults to now.
  • # filterPattern: The filter pattern to apply, in AWS Cloudwatch
  • # Logs filter pattern format (
  • # https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html
  • # ).
  • # limit: The number of log events to return. Maximum 10,000.
  • # nextToken: The nextToken returned from a previous call to
  • # ListLogEvents.
  • # startDateTime: The start date/time, inclusive, to list the log
  • # events from. Defaults to the beginning of time.
  • ListLogEvents(
  • endDateTime: AWSDateTime,
  • filterPattern: String,
  • limit: Int,
  • nextToken: String,
  • startDateTime: AWSDateTime
  • ): LogEventResults!
  • # Starts a stopped Node. Has no effect on an already running Node.
  • Start: Boolean!
  • # Stops a running Node. Has no effect on an already stopped Node.
  • Stop: Boolean!
  • # Updates the Node and returns it.
  • #
  • # Arguments
  • # config: The config, in JSON object format (i.e. - dict, map).
  • # description: A human-readable description.
  • # inlineProcessor: 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.
  • # Mutually exclusive with managedProcessor.
  • # loggingLevel: The logging level applied to the processor
  • # function.
  • # managedProcessor: The name of a ProcessorFunction. Mutually
  • # exclusive with the inlineProcessor.
  • # requirements: The list of Python requirements, in pip format.
  • # sequentialProcessing: True if messages should not be processed
  • # concurrently. If False, messages are processed concurrently.
  • Update(
  • config: AWSJSON,
  • description: String,
  • inlineProcessor: String,
  • loggingLevel: LogLevel,
  • managedProcessor: String,
  • requirements: [String!],
  • sequentialProcessing: Boolean
  • ): ProcessorNode!
  • # Validates the supplied 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.
  • # source: The source "node" of the test message. Defaults to
  • # "Validation".
  • Validate(
  • code: String!,
  • message: String!,
  • loggingLevel: LogLevel,
  • source: String
  • ): ValidationResult!
  • }