Skip to content

AWS::SQS::Queue

The AWS::SQS::Queue resource creates an SQS standard or FIFO queue.

Generated by cfn-typegen --out cfn_types AWS::SQS::Queue into cfn_types/sqs.py:

# Generated by cfn-typegen from the CloudFormation registry schemas. Do not edit.
# fmt: off
# ruff: noqa
"""AWS::SQS resources."""

from collections.abc import Mapping, Sequence
from typing import Any, Literal, NotRequired, Unpack
from typing_extensions import TypedDict
from cfn_typed.base import DeletionPolicy, DependsOn, ResourceAttrs, Tag, UpdateReplacePolicy, build
from cfn_typed.intrinsics import Expr


CONSTRAINTS:dict[str,Any]={
}


ATTRIBUTES:dict[str,Any]={"AWS::SQS::Queue":["Arn","QueueUrl"]}


RULES:dict[str,Any]={}
Nested types (3)

These are defined above the properties in the generated module.

class QueueProps(TypedDict, closed=True):
    'The ``AWS::SQS::Queue`` resource creates an SQS standard or FIFO queue.'
    ContentBasedDeduplication: NotRequired[Expr[bool]]
    'For first-in-first-out (FIFO) queues, specifies whether to enable content-based deduplication.'
    DeduplicationScope: NotRequired[Expr[str]]
    'For high throughput for FIFO queues, specifies whether message deduplication occurs at the message group or queue level.'
    DelaySeconds: NotRequired[Expr[int]]
    'The time in seconds for which the delivery of all messages in the queue is delayed.'
    FifoQueue: NotRequired[Expr[bool]]
    'If set to true, creates a FIFO queue.'
    FifoThroughputLimit: NotRequired[Expr[str]]
    'For high throughput for FIFO queues, specifies whether the FIFO queue throughput quota applies to the entire queue or per message group.'
    KmsDataKeyReusePeriodSeconds: NotRequired[Expr[int]]
    'The length of time in seconds for which SQS can reuse a data key to encrypt or decrypt messages before calling KMS again.'
    KmsMasterKeyId: NotRequired[Expr[str]]
    'The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS.'
    SqsManagedSseEnabled: NotRequired[Expr[bool]]
    'Enables server-side queue encryption using SQS owned encryption keys.'
    MaximumMessageSize: NotRequired[Expr[int]]
    'The limit of how many bytes that a message can contain before SQS rejects it.'
    MessageRetentionPeriod: NotRequired[Expr[int]]
    'The number of seconds that SQS retains a message.'
    QueueName: NotRequired[Expr[str]]
    'A name for the queue.'
    ReceiveMessageWaitTimeSeconds: NotRequired[Expr[int]]
    'Specifies the duration, in seconds, that the ReceiveMessage action call waits until a message is in the queue in order to include it in the response, rather ...'
    RedriveAllowPolicy: NotRequired[Expr[Mapping[str, Any]] | Expr[str]]
    'The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queu...'
    RedrivePolicy: NotRequired[Expr[Mapping[str, Any]] | Expr[str]]
    'The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object.'
    Tags: NotRequired[Expr[Sequence[Expr[Tag]]]]
    'The tags that you attach to this queue.'
    VisibilityTimeout: NotRequired[Expr[int]]
    'The length of time during which a message will be unavailable after a message is delivered from the queue.'


class Queue(ResourceAttrs):
    'The ``AWS::SQS::Queue`` resource creates an SQS standard or FIFO queue.'
    Type: Literal['AWS::SQS::Queue']
    Properties: NotRequired[QueueProps]


def queue(
    *,
    depends_on: DependsOn | None = None,
    deletion_policy: DeletionPolicy | None = None,
    update_replace_policy: UpdateReplacePolicy | None = None,
    condition: str | None = None,
    metadata: dict[str, Any] | None = None,
    **props: Unpack[QueueProps],
) -> Queue:
    return build('AWS::SQS::Queue', props, depends_on, deletion_policy, update_replace_policy, condition, metadata)

Attributes

Read-only values for get_att(logical_id, attribute). They are not accepted as inputs.

  • Arn
  • QueueUrl