1pub mod pipe;
2pub mod queue;
3pub mod sub;
4pub mod tag;
5pub mod trigger;
6
7use std::collections::HashMap;
8
9pub use pipe::EventBridgePipe;
10pub use queue::Queue;
11pub use sub::SnsSubscription;
12pub use tag::QueueTag;
13pub use trigger::LambdaTrigger;
14
15pub fn init(i18n: &mut HashMap<String, String>) {
16 queue::init(i18n);
17 trigger::init(i18n);
18 pipe::init(i18n);
19 tag::init(i18n);
20 sub::init(i18n);
21}
22
23pub fn console_url_queues(region: &str) -> String {
24 format!(
25 "https://{}.console.aws.amazon.com/sqs/v3/home?region={}#/queues",
26 region, region
27 )
28}
29
30pub fn console_url_queue_detail(region: &str, queue_url: &str) -> String {
31 let encoded_url = urlencoding::encode(queue_url);
32 format!(
33 "https://{}.console.aws.amazon.com/sqs/v3/home?region={}#/queues/{}",
34 region, region, encoded_url
35 )
36}
37
38#[cfg(test)]
39mod tests {
40 use super::*;
41
42 #[test]
43 fn test_console_url_queues() {
44 assert_eq!(
45 console_url_queues("us-east-1"),
46 "https://us-east-1.console.aws.amazon.com/sqs/v3/home?region=us-east-1#/queues"
47 );
48 }
49
50 #[test]
51 fn test_console_url_queue_detail() {
52 let url = "https://sqs.us-east-1.amazonaws.com/654654343159/MyTest";
53 assert_eq!(
54 console_url_queue_detail("us-east-1", url),
55 "https://us-east-1.console.aws.amazon.com/sqs/v3/home?region=us-east-1#/queues/https%3A%2F%2Fsqs.us-east-1.amazonaws.com%2F654654343159%2FMyTest"
56 );
57 }
58}