or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

compute.mdcore.mddatabase.mddeveloper-tools.mdindex.mdintegration.mdmonitoring.mdnetworking.mdsecurity.mdstorage.mdtesting.md
tile.json

integration.mddocs/

Application Integration

AWS application integration services provide messaging, event routing, and workflow orchestration capabilities for building decoupled and scalable distributed applications.

Capabilities

SNS Simple Notification Service

Fully managed messaging service for both application-to-application (A2A) and application-to-person (A2P) communication.

/**
 * SNS topic for publish-subscribe messaging
 */
class Topic extends Resource implements ITopic {
  constructor(scope: Construct, id: string, props?: TopicProps);
  
  /**
   * Import an existing topic by ARN
   */
  static fromTopicArn(scope: Construct, id: string, topicArn: string): ITopic;
  
  /**
   * Add a subscription to this topic
   */
  addSubscription(subscription: ITopicSubscription): void;
  
  /**
   * Grant topic publishing permissions to the given identity
   */
  grantPublish(grantee: IGrantable): Grant;
  
  readonly topicArn: string;
  readonly topicName: string;
  readonly fifo: boolean;
}

SQS Simple Queue Service

Fully managed message queuing service that enables decoupling and scaling of microservices, distributed systems, and serverless applications.

/**
 * SQS queue for message queuing
 */
class Queue extends Resource implements IQueue {
  constructor(scope: Construct, id: string, props?: QueueProps);
  
  /**
   * Import an existing queue by ARN
   */
  static fromQueueArn(scope: Construct, id: string, queueArn: string): IQueue;
  
  /**
   * Grant permissions to consume messages from the queue
   */
  grantConsumeMessages(grantee: IGrantable): Grant;
  
  /**
   * Grant permissions to send messages to the queue
   */
  grantSendMessages(grantee: IGrantable): Grant;
  
  readonly queueArn: string;
  readonly queueName: string;
  readonly queueUrl: string;
  readonly fifo: boolean;
}

EventBridge Event Bus

Serverless event bus that ingests data from your own apps, SaaS apps, and AWS services and routes that data to targets.

/**
 * EventBridge event bus for event routing
 */
class EventBus extends Resource implements IEventBus {
  constructor(scope: Construct, id: string, props?: EventBusProps);
  
  /**
   * Import an existing event bus by name
   */
  static fromEventBusName(scope: Construct, id: string, eventBusName: string): IEventBus;
  
  /**
   * Grant permissions to put events to this event bus
   */
  grantPutEventsTo(grantee: IGrantable): Grant;
  
  readonly eventBusName: string;
  readonly eventBusArn: string;
  readonly eventBusPolicy: string;
  readonly eventSourceName?: string;
}

Types

interface TopicProps {
  readonly contentBasedDeduplication?: boolean;
  readonly displayName?: string;
  readonly fifo?: boolean;
  readonly masterKey?: IKey;
  readonly topicName?: string;
}

interface QueueProps {
  readonly contentBasedDeduplication?: boolean;
  readonly dataKeyReuse?: Duration;
  readonly deadLetterQueue?: DeadLetterQueue;
  readonly deliveryDelay?: Duration;
  readonly encryption?: QueueEncryption;
  readonly encryptionMasterKey?: IKey;
  readonly fifo?: boolean;
  readonly maxReceiveCount?: number;
  readonly queueName?: string;
  readonly receiveMessageWaitTime?: Duration;
  readonly removalPolicy?: RemovalPolicy;
  readonly retentionPeriod?: Duration;
  readonly visibilityTimeout?: Duration;
}

interface EventBusProps {
  readonly eventBusName?: string;
  readonly eventSourceName?: string;
}

enum QueueEncryption {
  UNENCRYPTED = 0,
  KMS_MANAGED = 1,
  KMS = 2,
  SQS_MANAGED = 3
}