netbox_openapi/models/
brief_fhrp_group_request.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/// BriefFhrpGroupRequest : Adds support for custom fields and tags.
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct BriefFhrpGroupRequest {
15    /// * `vrrp2` - VRRPv2 * `vrrp3` - VRRPv3 * `carp` - CARP * `clusterxl` - ClusterXL * `hsrp` - HSRP * `glbp` - GLBP * `other` - Other
16    #[serde(rename = "protocol")]
17    pub protocol: Protocol,
18    #[serde(rename = "group_id")]
19    pub group_id: i32,
20    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
21    pub description: Option<String>,
22}
23
24impl BriefFhrpGroupRequest {
25    /// Adds support for custom fields and tags.
26    pub fn new(protocol: Protocol, group_id: i32) -> BriefFhrpGroupRequest {
27        BriefFhrpGroupRequest {
28            protocol,
29            group_id,
30            description: None,
31        }
32    }
33}
34
35/// * `vrrp2` - VRRPv2 * `vrrp3` - VRRPv3 * `carp` - CARP * `clusterxl` - ClusterXL * `hsrp` - HSRP * `glbp` - GLBP * `other` - Other
36#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
37pub enum Protocol {
38    #[serde(rename = "vrrp2")]
39    Vrrp2,
40    #[serde(rename = "vrrp3")]
41    Vrrp3,
42    #[serde(rename = "carp")]
43    Carp,
44    #[serde(rename = "clusterxl")]
45    Clusterxl,
46    #[serde(rename = "hsrp")]
47    Hsrp,
48    #[serde(rename = "glbp")]
49    Glbp,
50    #[serde(rename = "other")]
51    Other,
52}
53
54impl Default for Protocol {
55    fn default() -> Protocol {
56        Self::Vrrp2
57    }
58}