@altostra/core
Version:
Core library for shared types and logic
32 lines (31 loc) • 1.22 kB
TypeScript
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;
}