pub struct QueueBuilder<T>where
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>
Sourcepub fn new(id: &str) -> QueueBuilder<StartState>
pub fn new(id: &str) -> QueueBuilder<StartState>
pub fn standard_queue(self) -> QueueBuilder<StandardState>
pub fn fifo_queue(self) -> QueueBuilder<FifoState>
Source§impl<T> QueueBuilder<T>where
T: QueueBuilderState,
impl<T> QueueBuilder<T>where
T: QueueBuilderState,
pub fn delay_seconds(self, delay: DelaySeconds) -> QueueBuilder<T>
pub fn maximum_message_size(self, size: MaximumMessageSize) -> QueueBuilder<T>
pub fn message_retention_period( self, period: MessageRetentionPeriod, ) -> QueueBuilder<T>
pub fn receive_message_wait_time_seconds( self, wait_time: ReceiveMessageWaitTime, ) -> QueueBuilder<T>
pub fn visibility_timeout(self, timeout: VisibilityTimeout) -> QueueBuilder<T>
pub fn sqs_managed_sse_enabled(self, enabled: bool) -> QueueBuilder<T>
pub fn dead_letter_queue<D>( self, dead_letter_target_arn: D, max_receive_count: NonZeroNumber, ) -> QueueBuilder<T>
pub fn redrive_allow_policy(self, policy: Value) -> QueueBuilder<T>
pub fn queue_name( self, name: StringWithOnlyAlphaNumericsAndUnderscores, ) -> QueueBuilder<T>
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, ) -> QueueBuilder<FifoState>
Sourcepub fn high_throughput_fifo(self) -> QueueBuilder<FifoState>
pub fn high_throughput_fifo(self) -> QueueBuilder<FifoState>
Enables high throughput mode for FIFO queues.
Sets deduplication scope to MessageGroup and throughput limit to PerMessageGroupId.
pub fn deduplication_scope( self, scope: DeduplicationScope, ) -> QueueBuilder<FifoState>
pub fn fifo_throughput_limit( self, limit: FifoThroughputLimit, ) -> QueueBuilder<FifoState>
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> 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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.