netbox_openapi/models/
tunnel_encapsulation.rs

1/*
2 * NetBox REST API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 4.4.2-Docker-3.4.1 (4.4)
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
12pub struct TunnelEncapsulation {
13    /// * `ipsec-transport` - IPsec - Transport * `ipsec-tunnel` - IPsec - Tunnel * `ip-ip` - IP-in-IP * `gre` - GRE * `wireguard` - WireGuard * `openvpn` - OpenVPN * `l2tp` - L2TP * `pptp` - PPTP
14    #[serde(rename = "value", skip_serializing_if = "Option::is_none")]
15    pub value: Option<Value>,
16    #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
17    pub label: Option<Label>,
18}
19
20impl TunnelEncapsulation {
21    pub fn new() -> TunnelEncapsulation {
22        TunnelEncapsulation {
23            value: None,
24            label: None,
25        }
26    }
27}
28
29/// * `ipsec-transport` - IPsec - Transport * `ipsec-tunnel` - IPsec - Tunnel * `ip-ip` - IP-in-IP * `gre` - GRE * `wireguard` - WireGuard * `openvpn` - OpenVPN * `l2tp` - L2TP * `pptp` - PPTP
30#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
31pub enum Value {
32    #[serde(rename = "ipsec-transport")]
33    IpsecTransport,
34    #[serde(rename = "ipsec-tunnel")]
35    IpsecTunnel,
36    #[serde(rename = "ip-ip")]
37    IpIp,
38    #[serde(rename = "gre")]
39    Gre,
40    #[serde(rename = "wireguard")]
41    Wireguard,
42    #[serde(rename = "openvpn")]
43    Openvpn,
44    #[serde(rename = "l2tp")]
45    L2tp,
46    #[serde(rename = "pptp")]
47    Pptp,
48}
49
50impl Default for Value {
51    fn default() -> Value {
52        Self::IpsecTransport
53    }
54}
55///
56#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
57pub enum Label {
58    #[serde(rename = "IPsec - Transport")]
59    IPsecTransport,
60    #[serde(rename = "IPsec - Tunnel")]
61    IPsecTunnel,
62    #[serde(rename = "IP-in-IP")]
63    IpInIp,
64    #[serde(rename = "GRE")]
65    Gre,
66    #[serde(rename = "WireGuard")]
67    WireGuard,
68    #[serde(rename = "OpenVPN")]
69    OpenVpn,
70    #[serde(rename = "L2TP")]
71    L2Tp,
72    #[serde(rename = "PPTP")]
73    Pptp,
74}
75
76impl Default for Label {
77    fn default() -> Label {
78        Self::IPsecTransport
79    }
80}