Skip to main content

QueueBuilder

Struct QueueBuilder 

Source
pub struct QueueBuilder<T>{ /* 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>

Source

pub fn new(id: &str) -> QueueBuilder<StartState>

Creates a new SQS queue builder.

§Arguments
  • id - Unique identifier for the queue
Source

pub fn standard_queue(self) -> QueueBuilder<StandardState>

Source

pub fn fifo_queue(self) -> QueueBuilder<FifoState>

Source§

impl<T> QueueBuilder<T>

Source

pub fn kms_data_key_reuse_period( self, reuse_period_seconds: KeyReusePeriod, ) -> QueueBuilder<T>

Source

pub fn kms_master_key(self, kms_master_key: &KeyRef) -> QueueBuilder<T>

Source

pub fn delay_seconds(self, delay: DelaySeconds) -> QueueBuilder<T>

Source

pub fn maximum_message_size(self, size: MaximumMessageSize) -> QueueBuilder<T>

Source

pub fn message_retention_period( self, period: MessageRetentionPeriod, ) -> QueueBuilder<T>

Source

pub fn receive_message_wait_time_seconds( self, wait_time: ReceiveMessageWaitTime, ) -> QueueBuilder<T>

Source

pub fn visibility_timeout(self, timeout: VisibilityTimeout) -> QueueBuilder<T>

Source

pub fn sqs_managed_sse_enabled(self, enabled: bool) -> QueueBuilder<T>

Source

pub fn dead_letter_queue<D>( self, dead_letter_target_arn: D, max_receive_count: NonZeroNumber, ) -> QueueBuilder<T>
where D: Into<String>,

Source

pub fn redrive_allow_policy(self, policy: Value) -> QueueBuilder<T>

Source

pub fn queue_name( self, name: StringWithOnlyAlphaNumericsAndUnderscores, ) -> QueueBuilder<T>

Source

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>

Source

pub fn build(self, stack_builder: &mut StackBuilder) -> QueueRef

Source§

impl QueueBuilder<FifoState>

Source

pub fn content_based_deduplication( self, enabled: bool, ) -> QueueBuilder<FifoState>

Source

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.

Source

pub fn deduplication_scope( self, scope: DeduplicationScope, ) -> QueueBuilder<FifoState>

Source

pub fn fifo_throughput_limit( self, limit: FifoThroughputLimit, ) -> QueueBuilder<FifoState>

Source

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

Source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more