zabbix_api/host/
create.rs

1use std::collections::HashMap;
2
3use serde::{Deserialize, Serialize};
4
5use crate::host::{ZabbixHostGroup, ZabbixHostInterface, ZabbixHostTag};
6use crate::r#macro::ZabbixHostMacro;
7use crate::template::ZabbixTemplate;
8
9/// API: https://www.zabbix.com/documentation/6.0/en/manual/api/reference/hostgroup/create
10#[derive(Serialize,Debug)]
11pub struct CreateHostGroupRequest {
12    pub name: String
13}
14
15#[derive(Deserialize,Debug)]
16pub struct CreateHostGroupResponse {
17    #[serde(rename = "groupids")]
18    pub group_ids: Vec<String>
19}
20
21/// API: https://www.zabbix.com/documentation/6.0/en/manual/api/reference/host/create
22#[derive(Serialize,Debug)]
23pub struct CreateHostRequest {
24    pub host: String,
25    pub groups: Vec<ZabbixHostGroup>,
26    pub interfaces: Vec<ZabbixHostInterface>,
27    pub tags: Vec<ZabbixHostTag>,
28    pub templates: Vec<ZabbixTemplate>,
29    pub macros: Vec<ZabbixHostMacro>,
30    pub inventory_mode: u8,
31    pub inventory: HashMap<String, String>
32}
33
34#[derive(Deserialize,Debug)]
35pub struct CreateHostResponse {
36    #[serde(rename = "hostids")]
37    pub host_ids: Vec<String>
38}