AwsSqsArgs

interface AwsSqsArgs extends Omit<aws.sqs.QueueArgs, 'fifoQueue' | 'kmsMasterKeyId' | 'name' | 'redrivePolicy' | 'sqsManagedSseEnabled' | 'tags'> { contentBasedDeduplication?: Input<boolean | undefined>; deadLetterQueue?: AwsSqsDeadLetterQueueArgs; deduplicationScope?: Input<string | undefined>; delaySeconds?: Input<number | undefined>; fifoThroughputLimit?: Input<string | undefined>; kmsDataKeyReusePeriodSeconds?: Input<number | undefined>; kmsKey?: AwsKmsKeyInput; maxMessageSize?: Input<number | undefined>; messageRetentionSeconds?: Input<number | undefined>; name: string; namePrefix?: Input<string | undefined>; policy?: Input<string | undefined>; queuePolicy?: AwsSqsQueuePolicyTemplateArgs; queueType?: AwsSqsQueueType; receiveWaitTimeSeconds?: Input<number | undefined>; redriveAllowPolicy?: Input<string | undefined>; region?: Input<string | undefined>; tags?: Input<Record<string, Input<string>>>; visibilityTimeoutSeconds?: Input<number | undefined>; }

Input arguments for AwsSqs.

Remarks

This type extends aws.sqs.QueueArgs with service-level naming, queue-type controls, and optional dead-letter queue orchestration.

Differences from the raw AWS provider resource:

  • name is required and used as a stackAndPurpose naming purpose
  • queueType controls fifoQueue and queue-name suffixing
  • deadLetterQueue controls DLQ creation and redrivePolicy
  • queuePolicy controls optional queue-policy creation from a JSON template file
  • sqsManagedSseEnabled is managed by the component to enforce encryption-safe defaults
  • when kmsKey is omitted, the component enables SQS-managed SSE by default; when kmsKey is provided, that key configuration is used

Example

CODE
const queue = new AwsSqs({
  name: 'orders',
  queueType: 'fifo',
  contentBasedDeduplication: true,
  deadLetterQueue: {
    maxReceiveCount: 10,
  },
});

Hierarchy

  • QueueArgs, "fifoQueue" | "kmsMasterKeyId" | "name" | "redrivePolicy" | "sqsManagedSseEnabled" | "tags">
  • AwsSqsArgs

Properties

contentBasedDeduplication: Input<boolean | undefined>

Inherited from contentBasedDeduplication

Enables content-based deduplication for FIFO queues. For more information, see the related documentation.

deadLetterQueue: AwsSqsDeadLetterQueueArgs

Dead-letter queue configuration. When set, the component creates and wires a managed DLQ.

deduplicationScope: Input<string | undefined>

Inherited from deduplicationScope

Specifies whether message deduplication occurs at the message group or queue level. Valid values are messageGroup and queue (default).

delaySeconds: Input<number | undefined>

Inherited from delaySeconds

Time in seconds that the delivery of all messages in the queue will be delayed. An integer from 0 to 900 (15 minutes). The default for this attribute is 0 seconds.

fifoThroughputLimit: Input<string | undefined>

Inherited from fifoThroughputLimit

Specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are perQueue (default) and perMessageGroupId.

kmsDataKeyReusePeriodSeconds: Input<number | undefined>

Inherited from kmsDataKeyReusePeriodSeconds

Length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). The default is 300 (5 minutes).

kmsKey: AwsKmsKeyInput

Optional customer-managed KMS key used for queue encryption.

maxMessageSize: Input<number | undefined>

Inherited from maxMessageSize

Limit of how many bytes a message can contain before Amazon SQS rejects it. An integer from 1024 bytes (1 KiB) up to 1048576 bytes (1024 KiB). The default for this attribute is 262144 (256 KiB).

messageRetentionSeconds: Input<number | undefined>

Inherited from messageRetentionSeconds

Number of seconds Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute) to 1209600 (14 days). The default for this attribute is 345600 (4 days).

name: string

Required queue purpose input used to build a stackAndPurpose AWS queue name.

This value is also the synchronous plain-string source for component logical identity generation. It must be provided as a plain string and must not be supplied as a Pulumi Input/Output or promise-derived value.

namePrefix: Input<string | undefined>

Inherited from namePrefix

Creates a unique name beginning with the specified prefix. Conflicts with name.

policy: Input<string | undefined>

Inherited from policy

JSON policy for the SQS queue. For more information about building AWS IAM policy documents see the AWS IAM Policy Document Guide. The provider will only perform drift detection of its value when present in a configuration. It is preferred to use the aws.sqs.QueuePolicy resource instead.

queuePolicy: AwsSqsQueuePolicyTemplateArgs

Optional queue policy JSON template rendered with queue outputs and custom variables.

Reserved template variables queueArn and queueName are injected by the component and must not be provided in variables. Literal string variables must be non-empty.

queueType: AwsSqsQueueType

Queue type. Defaults to standard.

receiveWaitTimeSeconds: Input<number | undefined>

Inherited from receiveWaitTimeSeconds

Time for which a ReceiveMessage call will wait for a message to arrive (long polling) before returning. An integer from 0 to 20 (seconds). The default for this attribute is 0, meaning that the call will return immediately.

redriveAllowPolicy: Input<string | undefined>

Inherited from redriveAllowPolicy

JSON policy to set up the Dead Letter Queue redrive permission, see AWS docs. The provider will only perform drift detection of its value when present in a configuration. It is preferred to use the aws.sqs.RedriveAllowPolicy resource instead.

region: Input<string | undefined>

Inherited from region

Region where this resource will be managed. Defaults to the Region set in the provider configuration.

tags: Input<Record<string, Input<string>>>

Additional tags merged with default project/environment tags.

visibilityTimeoutSeconds: Input<number | undefined>

Inherited from visibilityTimeoutSeconds

Visibility timeout for the queue. An integer from 0 to 43200 (12 hours). The default for this attribute is 30. For more information about visibility timeout, see AWS docs.