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 kms_data_key_reuse_period( self, reuse_period_seconds: KeyReusePeriod, ) -> QueueBuilder<T>
pub fn kms_master_key(self, kms_master_key: &KeyRef) -> QueueBuilder<T>
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>
Sourcepub fn queue_policy(self, doc: PolicyDocument) -> QueueBuilder<T>
pub fn queue_policy(self, doc: PolicyDocument) -> QueueBuilder<T>
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, ) -> 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.