UNPKG

@altostra/core

Version:

Core library for shared types and logic

32 lines (31 loc) 1.22 kB
import type { NaturalNumber } from "../../../common/CustomTypes/Numerics"; import type { Arn } from "../../CustomTypes/Arn"; import type { AwsResourceCommon, CloudFormationTags } from "../common"; import type { CloudFormationValue } from "../IntrinsicFunctions"; export declare type QueueType = 'AWS::SQS::Queue'; export interface Queue extends AwsResourceCommon { Type: QueueType; Properties?: QueueProperties; } export interface QueueProperties { QueueName?: string; ContentBasedDeduplication?: boolean; DeduplicationScope?: DeduplicationScope; FifoThroughputLimit?: FifoThroughputLimit; DelaySeconds?: number; FifoQueue?: boolean; KmsMasterKeyId?: string; KmsDataKeyReusePeriodSeconds?: number; MaximumMessageSize?: number; MessageRetentionPeriod?: number; ReceiveMessageWaitTimeSeconds?: number; RedrivePolicy?: RedrivePolicy; VisibilityTimeout?: number; Tags?: CloudFormationTags; } export declare type DeduplicationScope = 'messageGroup' | 'queue'; export declare type FifoThroughputLimit = 'perMessageGroupId' | 'perQueue'; export interface RedrivePolicy { deadLetterTargetArn: CloudFormationValue<Arn>; maxReceiveCount: NaturalNumber; }