mirror of
https://git.proxmox.com/git/proxmox
synced 2025-08-17 18:39:03 +00:00
notify: add example for template rendering
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
This commit is contained in:
parent
4865711339
commit
97dac11823
63
proxmox-notify/examples/render.rs
Normal file
63
proxmox-notify/examples/render.rs
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
use proxmox_notify::renderer::{render_template, TemplateRenderer};
|
||||||
|
use proxmox_notify::Error;
|
||||||
|
|
||||||
|
use serde_json::json;
|
||||||
|
|
||||||
|
const TEMPLATE: &str = r#"
|
||||||
|
{{ heading-1 "Backup Report"}}
|
||||||
|
A backup job on host {{host}} was run.
|
||||||
|
|
||||||
|
{{ heading-2 "Guests"}}
|
||||||
|
{{ table table }}
|
||||||
|
The total size of all backups is {{human-bytes total-size}}.
|
||||||
|
|
||||||
|
The backup job took {{duration total-time}}.
|
||||||
|
|
||||||
|
{{ heading-2 "Logs"}}
|
||||||
|
{{ verbatim-monospaced logs}}
|
||||||
|
|
||||||
|
{{ heading-2 "Objects"}}
|
||||||
|
{{ object table }}
|
||||||
|
"#;
|
||||||
|
|
||||||
|
fn main() -> Result<(), Error> {
|
||||||
|
let properties = json!({
|
||||||
|
"host": "pali",
|
||||||
|
"logs": "100: starting backup\n100: backup failed",
|
||||||
|
"total-size": 1024 * 1024 + 2048 * 1024,
|
||||||
|
"total-time": 100,
|
||||||
|
"table": {
|
||||||
|
"schema": {
|
||||||
|
"columns": [
|
||||||
|
{
|
||||||
|
"label": "VMID",
|
||||||
|
"id": "vmid"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Size",
|
||||||
|
"id": "size",
|
||||||
|
"renderer": "human-bytes"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
},
|
||||||
|
"data" : [
|
||||||
|
{
|
||||||
|
"vmid": 1001,
|
||||||
|
"size": 1024 * 1024,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"vmid": 1002,
|
||||||
|
"size": 2048 * 1024,
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
let output = render_template(TemplateRenderer::Html, TEMPLATE, Some(&properties))?;
|
||||||
|
println!("{output}");
|
||||||
|
|
||||||
|
let output = render_template(TemplateRenderer::Plaintext, TEMPLATE, Some(&properties))?;
|
||||||
|
println!("{output}");
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user