zabbix_api/user/
create.rs

1use serde::{Deserialize, Serialize};
2use serde_with::skip_serializing_none;
3
4#[derive(Serialize, Debug, Clone)]
5pub struct UserGroupId {
6    pub usrgrpid: String,
7}
8
9#[skip_serializing_none]
10#[derive(Serialize, Debug, Clone, Default)]
11pub struct UserMedia {
12    pub mediatypeid: String,
13    pub sendto: String,
14    pub active: i32,
15    pub severity: i32,
16    pub period: Option<String>,
17}
18
19#[skip_serializing_none]
20#[derive(Serialize, Debug, Clone, Default)]
21pub struct CreateUserRequest {
22    pub username: String,
23    pub passwd: String,
24    pub roleid: String,
25    pub usrgrps: Vec<UserGroupId>,
26
27    pub name: Option<String>,
28    pub surname: Option<String>,
29    pub url: Option<String>,
30    pub autologin: Option<i32>,
31    pub autologout: Option<String>,
32    pub lang: Option<String>,
33    pub refresh: Option<String>,
34    pub theme: Option<String>,
35    #[serde(rename = "type")]
36    pub user_type: Option<i32>,
37    pub user_medias: Option<Vec<UserMedia>>,
38}
39
40#[derive(Deserialize, Debug, Clone)]
41pub struct CreateUserResponse {
42    #[serde(rename = "userids")]
43    pub user_ids: Vec<String>,
44}