zabbix_api/user/
create.rs

1use 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}