pub struct QueueBuilder<T: QueueBuilderState> { /* private fields */ }Expand description
Builder for SQS queues.
Supports both standard and FIFO queues. FIFO queues have additional configuration options for deduplication and throughput.
§Example
use rusty_cdk_core::stack::StackBuilder;
use rusty_cdk_core::sqs::QueueBuilder;
use rusty_cdk_core::wrappers::*;
use rusty_cdk_macros::{delay_seconds, message_retention_period, visibility_timeout};
let mut stack_builder = StackBuilder::new();
// Create a standard queue
let standard_queue = QueueBuilder::new("standard-queue")
.standard_queue()
.visibility_timeout(visibility_timeout!(60))
.build(&mut stack_builder);
// Create a FIFO queue
let queue = QueueBuilder::new("my-queue")
.fifo_queue()
.content_based_deduplication(true)
.delay_seconds(delay_seconds!(30))
.message_retention_period(message_retention_period!(600))
.build(&mut stack_builder);Implementations§
Source§impl QueueBuilder<StartState>
impl QueueBuilder<StartState>
pub fn standard_queue(self) -> QueueBuilder<StandardState>
pub fn fifo_queue(self) -> QueueBuilder<FifoState>
Source§impl<T: QueueBuilderState> QueueBuilder<T>
impl<T: QueueBuilderState> QueueBuilder<T>
pub fn kms_data_key_reuse_period( self, reuse_period_seconds: KeyReusePeriod, ) -> Self
pub fn kms_master_key(self, kms_master_key: &KeyRef) -> Self
pub fn delay_seconds(self, delay: DelaySeconds) -> Self
pub fn maximum_message_size(self, size: MaximumMessageSize) -> Self
pub fn message_retention_period(self, period: MessageRetentionPeriod) -> Self
pub fn receive_message_wait_time_seconds( self, wait_time: ReceiveMessageWaitTime, ) -> Self
pub fn visibility_timeout(self, timeout: VisibilityTimeout) -> Self
pub fn sqs_managed_sse_enabled(self, enabled: bool) -> Self
pub fn dead_letter_queue<D: Into<String>>( self, dead_letter_target_arn: D, max_receive_count: NonZeroNumber, ) -> Self
pub fn redrive_allow_policy(self, policy: Value) -> Self
pub fn queue_name(self, name: StringWithOnlyAlphaNumericsAndUnderscores) -> Self
Sourcepub fn queue_policy(self, doc: PolicyDocument) -> Self
pub fn queue_policy(self, doc: PolicyDocument) -> Self
Adds an SQS Queue Policy for this queue.
The code will automatically set the resources section of the PolicyDocument to the ARN of this queue, so there’s no need to pass that in.
Source§impl QueueBuilder<StandardState>
impl QueueBuilder<StandardState>
pub fn build(self, stack_builder: &mut StackBuilder) -> QueueRef
Source§impl QueueBuilder<FifoState>
impl QueueBuilder<FifoState>
pub fn content_based_deduplication(self, enabled: bool) -> Self
Sourcepub fn high_throughput_fifo(self) -> Self
pub fn high_throughput_fifo(self) -> Self
Enables high throughput mode for FIFO queues.
Sets deduplication scope to MessageGroup and throughput limit to PerMessageGroupId.
pub fn deduplication_scope(self, scope: DeduplicationScope) -> Self
pub fn fifo_throughput_limit(self, limit: FifoThroughputLimit) -> Self
Sourcepub fn build(self, stack_builder: &mut StackBuilder) -> QueueRef
pub fn build(self, stack_builder: &mut StackBuilder) -> QueueRef
Builds the FIFO queue and adds it to the stack.
Automatically appends the required “.fifo” suffix to the queue name if not already present.
Auto Trait Implementations§
impl<T> Freeze for QueueBuilder<T>
impl<T> RefUnwindSafe for QueueBuilder<T>where
T: RefUnwindSafe,
impl<T> Send for QueueBuilder<T>where
T: Send,
impl<T> Sync for QueueBuilder<T>where
T: Sync,
impl<T> Unpin for QueueBuilder<T>where
T: Unpin,
impl<T> UnsafeUnpin for QueueBuilder<T>
impl<T> UnwindSafe for QueueBuilder<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more