Crates.io | ilert |
lib.rs | ilert |
version | 4.1.1 |
source | src |
created_at | 2019-11-29 16:38:25.270511 |
updated_at | 2024-10-07 14:27:35.161167 |
description | The official ilert api bindings. |
homepage | https://ilert.com |
repository | https://github.com/iLert/ilert-rust |
max_upload_size | |
id | 185332 |
size | 44,526 |
The official ilert API bindings.
use ilert::ilert::ILert;
use ilert::ilert_builders::{UserGetApiResource, EventApiResource, ILertEventType};
let mut client = ILert::new().unwrap();
client.auth_via_token("your-api-token").unwrap();
// create a new alert via event
client
.create()
.event(
"44c7afdc-0b3e-4344-b48a-5378a963231f",
ILertEventType::ALERT,
"Host srv/mail01 is CRITICAL", None)
.execute()
.await;
// accept alert
let accept_result = client
.update()
.accept_alert(123)
.execute()
.await
.unwrap();
// resolve alert
let resolve_result = client
.update()
.resolve_alert(123)
.execute()
.await
.unwrap();
// fetch users
let user_result = client
.get()
.skip(5)
.limit(10)
.filter("role", "RESPONDER")
.filter("role", "USER")
.users()
.execute()
.await
.unwrap();
// ping a heartbeat
client
.get()
.heartbeat("43c7afdc-0b3e-4344-b48a-5379a963241f")
.execute()
.await;
// create detailed alert via event
client
.create()
.event_with_details(
"8972f0d5d8c9cde78d79b6cc8fd",
ILertEventType::ALERT,
Some("Host srv/mail01 is CRITICAL".to_string()),
Some("bratwurst".to_string()),
Some("some detail message".to_string()),
Some(ILertPriority::LOW),
Some(vec![EventImage::new("https://i.giphy.com/media/VRhsYYBw8AE36/giphy.webp")]),
Some(vec![]),
Some(json!({"hehe": "test"})),
None)
.execute()
.await
.unwrap();
// add comment to alert via event
client
.create()
.event_with_comment(
"8972f0d5d8c9cde78d79b6cc8fd",
Some("bratwurst".to_string()),
Some(vec![EventComment::new("Peter Parker", "a comment ![alt text picture](https://i.giphy.com/media/VRhsYYBw8AE36/giphy.webp)")]))
.execute()
.await
.unwrap();
// resolve alert via event
client
.create()
.event("8972f0d5d8c9cde78d79b6cc8fd",
ILertEventType::RESOLVE, None,
Some("bratwurst".to_string()))
.execute()
.await
.unwrap();
If you are looking for a blocking version of the client pin the 3.x.x
versions in your Cargo.toml.
We are happy to respond to GitHub issues as well.