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