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