Skip to main content

unifly_api/integration/types/
reference.rs

1use std::collections::HashMap;
2
3use serde::{Deserialize, Serialize};
4use serde_json::Value;
5
6/// DPI category — from `GET /v1/sites/{siteId}/dpi/categories`.
7#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8#[serde(rename_all = "camelCase")]
9pub struct DpiCategoryResponse {
10    #[serde(flatten)]
11    pub fields: HashMap<String, Value>,
12}
13
14/// DPI application — from `GET /v1/sites/{siteId}/dpi/applications`.
15#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
16#[serde(rename_all = "camelCase")]
17pub struct DpiApplicationResponse {
18    #[serde(flatten)]
19    pub fields: HashMap<String, Value>,
20}
21
22/// VPN server — from `GET /v1/sites/{siteId}/vpn/servers`.
23#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
24#[serde(rename_all = "camelCase")]
25pub struct VpnServerResponse {
26    #[serde(flatten)]
27    pub fields: HashMap<String, Value>,
28}
29
30/// VPN tunnel — from `GET /v1/sites/{siteId}/vpn/tunnels`.
31#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
32#[serde(rename_all = "camelCase")]
33pub struct VpnTunnelResponse {
34    #[serde(flatten)]
35    pub fields: HashMap<String, Value>,
36}
37
38/// WAN configuration — from `GET /v1/sites/{siteId}/wan`.
39#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
40#[serde(rename_all = "camelCase")]
41pub struct WanResponse {
42    #[serde(flatten)]
43    pub fields: HashMap<String, Value>,
44}
45
46/// RADIUS profile — from `GET /v1/sites/{siteId}/radius/profiles`.
47#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
48#[serde(rename_all = "camelCase")]
49pub struct RadiusProfileResponse {
50    #[serde(flatten)]
51    pub fields: HashMap<String, Value>,
52}
53
54/// Country metadata — from `GET /v1/countries`.
55#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
56#[serde(rename_all = "camelCase")]
57pub struct CountryResponse {
58    #[serde(flatten)]
59    pub fields: HashMap<String, Value>,
60}