OBJECT
Tenant
Tenants contain a network of Nodes. They are constrained to a single AWS region and allow for secure processing of messages within the Network.
link GraphQL Schema definition
- type Tenant {
- # After Tenant creation it can take several minutes the Tenant to
- # become active. Only active Tenants can have requests made for them.
- Boolean! :
- # True if this tenant is currently auditing messages.
- Boolean :
- # The config, in JSON object format (i.e. - dict, map).
- AWSJSON :
- # When and who created.
- AtBy! :
- # A human-readable description.
- String :
- # When and who modified.
- AtBy! :
- # The name.
- String! :
- # The AWS region.
- String! :
- # The Id of the subscription for this Tenant. Present only if billing is enabled.
- String :
- # The name of the Tenant's DynamoDB table.
- String! :
- # Lists all usage details for the Tenant
- Usage!] : [
- # A list of users authorized to work in this Tenant.
- TenantUser!] : [
- # Adds the specified user to the Tenant. If the user is not already
- # an EchoStream user an invite will be sent.
- #
- # Arguments
- # email: The email.
- # role: The role.
- AWSEmail!, : UserRole!): TenantUser! ( :
- # Deletes this.
- Boolean! :
- # Returns that AwsCredentials required to access the EchoStream resources assigned
- # to this Tenant.
- #
- # Arguments
- # duration: The length of time, in seconds, that the returned
- # credentials are valid for. Between 900 and 43,200. Defaults to 3,600.
- Int): AwsCredentials! ( :
- # If billing is enabled, return a transaction ID for updating the payment method.
- String :
- # Gets the usage for the Tenant for the specified period.
- #
- # Arguments
- # month: The month to get usage for.
- # year: The year to get usage for.
- Int!, : Int!): Usage ( :
- # 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 Tenant.
- #
- # Arguments
- # audit: True to turn on auditing of messages, False to turn off.
- # Null is ignored.
- # config: The config, in JSON object format (i.e. - dict, map).
- # Null is ignored.
- # description: A human-readable description.
- Boolean, : AWSJSON, : String): Tenant! ( :
- }
link Require by
- AlertEmitterNodeEmits alert messages. One per Tenant, automatically created when the Tenant is created.
- ApiAuthenticatorFunctionA managed Function used in API-based Nodes (e.g. - WebhookNode).
- ApiUserA programmatic user of the EchoStream API.
- AppApps are containers of Nodes at the edges of a Tenant network. In most cases they provide for a common config and permissions to the contained Nodes.
- 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.
- CreateTenantResponse
- CrossAccountAppCrossAccountApps are external to the EchoStream Cloud. They utilize IAM cross-account permissions to access Edges in the EchoStream cloud. This is required if you have an AWS account and wish to implement your ExternalNodes as either on EC2 or Lambda and intend to use IAM roles to provide permissions into EchoStream.
- CrossTenantReceivingAppAllows for receiving of messages from another Tenant.
- CrossTenantReceivingNodeCreated automatically when the other Tenant's CrossTenantSendingApp has a CrossTenantSendingNode created in it. One per CrossTenantSendingNode.
- CrossTenantSendingAppAllows for sending messages to another Tenant.
- 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.
- ExternalAppAn App that exists outside of the EchoStream Cloud. Access to the EchoStream Cloud is accomplished through GetAwsCredentials.
- ExternalNodeA Node that exists outside the EchoStream Cloud. Can be part of an ExternalApp or CrossAccountApp.
- FilesDotComWebhookNode
- FunctionDescribes common attributes and methods supported by Functions.
- KmsKeyAn encryption key. Each Tenant has a default key used when another key is not specified. Other KmsKeys added to a Tenant can be used to selectively encrypt Edges at rest.
- 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.
- ManagedApp Represents an App that exists outside the EchoStream Cloud but is fully managed by EchoStream. ManagedApps are implemented as virtual machines within a customer or client datacenter. Managed apps can be implemented as a Virtual Machine in VMWare, VirtualBox, KVM, Hyper-V, or EC2. For VMWare, VirtualBox, KVM or Hyper-V, use the isol; for EC2, use the userdata directly.
- 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.
- NodeDefines the requirements for all Node types
- 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
- TenantTenants contain a network of Nodes. They are constrained to a single AWS region and allow for secure processing of messages within the Network.
- TenantResultA (possibly) paginated result set.
- TenantUserRepresents a user in EchoStream that is authorized within a Tenant.
- 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