---
url: >-
  https://node-ts.github.io/bus/api/bus-sqs/interfaces/SqsTransportConfiguration.md
---
[API reference](../../index.md) / [@node-ts/bus-sqs](../index.md) / SqsTransportConfiguration

# Interface: SqsTransportConfiguration

Defined in: [packages/bus-sqs/src/sqs-transport-configuration.ts:7](https://github.com/node-ts/bus/blob/2e6cf65c27833b707ae31ee623cfb6343770f434/packages/bus-sqs/src/sqs-transport-configuration.ts#L7)

## Extends

* `Omit`<[`TransportConfiguration`](../../bus-core/interfaces/TransportConfiguration.md), `"queueName"`>

## Properties

| Property | Type | Description | Inherited from | Defined in |
| ------ | ------ | ------ | ------ | ------ |
| <a id="property-autoprovision"></a> `autoProvision?` | `boolean` | Controls whether the library automatically provisions necessary AWS resources (SNS topics, SQS queues, and subscriptions). By default, this is set to 'true', meaning the library will attempt to create these resources on startup. Set this to 'false' if your application manages resource provisioning using separate tools (e.g., AWS CDK, CloudFormation, or IaC/IoC frameworks). **Default** `true` | - | [packages/bus-sqs/src/sqs-transport-configuration.ts:123](https://github.com/node-ts/bus/blob/2e6cf65c27833b707ae31ee623cfb6343770f434/packages/bus-sqs/src/sqs-transport-configuration.ts#L123) |
| <a id="property-awsaccountid"></a> `awsAccountId?` | `string` | The AWS Account Id of the account where queues and topics will be created | - | [packages/bus-sqs/src/sqs-transport-configuration.ts:14](https://github.com/node-ts/bus/blob/2e6cf65c27833b707ae31ee623cfb6343770f434/packages/bus-sqs/src/sqs-transport-configuration.ts#L14) |
| <a id="property-awsregion"></a> `awsRegion?` | `string` | The AWS region to create queues and topics in | - | [packages/bus-sqs/src/sqs-transport-configuration.ts:19](https://github.com/node-ts/bus/blob/2e6cf65c27833b707ae31ee623cfb6343770f434/packages/bus-sqs/src/sqs-transport-configuration.ts#L19) |
| <a id="property-deadletterqueuearn"></a> `deadLetterQueueArn?` | `string` | An optional AWS ARN of the dead letter queue to fail messages to **Default** `undefined` | - | [packages/bus-sqs/src/sqs-transport-configuration.ts:25](https://github.com/node-ts/bus/blob/2e6cf65c27833b707ae31ee623cfb6343770f434/packages/bus-sqs/src/sqs-transport-configuration.ts#L25) |
| <a id="property-deadletterqueuename"></a> `deadLetterQueueName?` | `string` | An optional name of the dead letter queue to fail messages to **Default** `dead-letter` **Example** `order-booking-service-dlq` | `Omit.deadLetterQueueName` | packages/bus-core/dist/transport/transport-configuration.d.ts:16 |
| <a id="property-maxreceivecount"></a> `maxReceiveCount?` | `number` | The number of times a message is delivered to the source queue before being moved to the dead-letter queue **Default** `10` | - | [packages/bus-sqs/src/sqs-transport-configuration.ts:83](https://github.com/node-ts/bus/blob/2e6cf65c27833b707ae31ee623cfb6343770f434/packages/bus-sqs/src/sqs-transport-configuration.ts#L83) |
| <a id="property-messageretentionperiod"></a> `messageRetentionPeriod?` | `number` | The number of seconds to retain messages in the dead letter queue **Default** `1209600 (14 days)` | - | [packages/bus-sqs/src/sqs-transport-configuration.ts:31](https://github.com/node-ts/bus/blob/2e6cf65c27833b707ae31ee623cfb6343770f434/packages/bus-sqs/src/sqs-transport-configuration.ts#L31) |
| <a id="property-queuearn"></a> `queueArn?` | `string` | The AWS ARN for the target SQS Queue | - | [packages/bus-sqs/src/sqs-transport-configuration.ts:36](https://github.com/node-ts/bus/blob/2e6cf65c27833b707ae31ee623cfb6343770f434/packages/bus-sqs/src/sqs-transport-configuration.ts#L36) |
| <a id="property-queuename"></a> `queueName?` | `string` | The name of the queue that receives incoming messages **Example** `order-booking-service` | - | [packages/bus-sqs/src/sqs-transport-configuration.ts:42](https://github.com/node-ts/bus/blob/2e6cf65c27833b707ae31ee623cfb6343770f434/packages/bus-sqs/src/sqs-transport-configuration.ts#L42) |
| <a id="property-queuepolicy"></a> `queuePolicy?` | `string` | An optional custom queue policy to apply to any created SQS queues. By default a generic policy will be added that grants send permissions to SNS topics within the same AWS account. This can be further restricted or relaxed by providing a custom policy. **Example** `{ * "Version": "2012-10-17", * "Statement": [ * { * "Principal": "*", * "Effect": "Allow", * "Action": [ * "sqs:SendMessage" * ], * "Resource": [ * "arn:aws:sqs:us-west-2:12345678:production-*" * ], * "Condition": { * "ArnLike": { * "aws:SourceArn": "arn:aws:sns:us-west-2:12345678:production-*" * } * } * } * ] * }` | - | [packages/bus-sqs/src/sqs-transport-configuration.ts:71](https://github.com/node-ts/bus/blob/2e6cf65c27833b707ae31ee623cfb6343770f434/packages/bus-sqs/src/sqs-transport-configuration.ts#L71) |
| <a id="property-resolvetopicarn"></a> `resolveTopicArn?` | (`awsAccountId`, `awsRegion`, `topicName`) => `string` | A resolver function that maps an SNS topic name to an SNS topic arn **Example** `resolveTopicArn (awsAccountId: string, awsRegion: string, topicName: string) => `arn:aws:sns:${awsRegion}:${awsAccountId}:${topicName}`` | - | [packages/bus-sqs/src/sqs-transport-configuration.ts:110](https://github.com/node-ts/bus/blob/2e6cf65c27833b707ae31ee623cfb6343770f434/packages/bus-sqs/src/sqs-transport-configuration.ts#L110) |
| <a id="property-resolvetopicname"></a> `resolveTopicName?` | (`messageName`) => `string` | A resolver function that maps a message name to an SNS topic. **Param** **messageName** Name of the message to map **Param** **messageName** are sent. Must be compatible with SNS topic naming **Example** `resolveTopicName (messageName: string) => `production-${messageName}`` | - | [packages/bus-sqs/src/sqs-transport-configuration.ts:101](https://github.com/node-ts/bus/blob/2e6cf65c27833b707ae31ee623cfb6343770f434/packages/bus-sqs/src/sqs-transport-configuration.ts#L101) |
| <a id="property-visibilitytimeout"></a> `visibilityTimeout?` | `number` | The visibility timeout for the queue, in seconds. Valid values: An integer from 0 to 43,200 (12 hours) **Default** `30` | - | [packages/bus-sqs/src/sqs-transport-configuration.ts:77](https://github.com/node-ts/bus/blob/2e6cf65c27833b707ae31ee623cfb6343770f434/packages/bus-sqs/src/sqs-transport-configuration.ts#L77) |
| <a id="property-waittimeseconds"></a> `waitTimeSeconds?` | `number` | The wait time on sqs.receiveMessage, setting it to 0 will essentially turn it to short polling. It also has a impact on shutdown duration because sqs,receiveMessage is a non interruptible action. **Default** `10` | - | [packages/bus-sqs/src/sqs-transport-configuration.ts:92](https://github.com/node-ts/bus/blob/2e6cf65c27833b707ae31ee623cfb6343770f434/packages/bus-sqs/src/sqs-transport-configuration.ts#L92) |
