netbox_openapi/models/
patched_writable_interface_template_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/// PatchedWritableInterfaceTemplateRequest : Extends the built-in ModelSerializer to enforce calling full_clean() on a copy of the associated instance during validation. (DRF does not do this by default; see <https://github.com/encode/django-rest-framework/issues/3144>)
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct PatchedWritableInterfaceTemplateRequest {
15    #[serde(
16        rename = "device_type",
17        default,
18        with = "::serde_with::rust::double_option",
19        skip_serializing_if = "Option::is_none"
20    )]
21    pub device_type: Option<Option<Box<crate::models::ConsolePortTemplateRequestDeviceType>>>,
22    #[serde(
23        rename = "module_type",
24        default,
25        with = "::serde_with::rust::double_option",
26        skip_serializing_if = "Option::is_none"
27    )]
28    pub module_type: Option<Option<Box<crate::models::ConsolePortTemplateRequestModuleType>>>,
29    /// {module} is accepted as a substitution for the module bay position when attached to a module type.
30    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
31    pub name: Option<String>,
32    /// Physical label
33    #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
34    pub label: Option<String>,
35    /// * `virtual` - Virtual * `bridge` - Bridge * `lag` - Link Aggregation Group (LAG) * `100base-fx` - 100BASE-FX (10/100ME) * `100base-lfx` - 100BASE-LFX (10/100ME) * `100base-tx` - 100BASE-TX (10/100ME) * `100base-t1` - 100BASE-T1 (10/100ME) * `1000base-bx10-d` - 1000BASE-BX10-D (1GE BiDi Down) * `1000base-bx10-u` - 1000BASE-BX10-U (1GE BiDi Up) * `1000base-cwdm` - 1000BASE-CWDM (1GE) * `1000base-cx` - 1000BASE-CX (1GE DAC) * `1000base-dwdm` - 1000BASE-DWDM (1GE) * `1000base-ex` - 1000BASE-EX (1GE) * `1000base-lsx` - 1000BASE-LSX (1GE) * `1000base-lx` - 1000BASE-LX (1GE) * `1000base-lx10` - 1000BASE-LX10/LH (1GE) * `1000base-sx` - 1000BASE-SX (1GE) * `1000base-t` - 1000BASE-T (1GE) * `1000base-tx` - 1000BASE-TX (1GE) * `1000base-zx` - 1000BASE-ZX (1GE) * `2.5gbase-t` - 2.5GBASE-T (2.5GE) * `5gbase-t` - 5GBASE-T (5GE) * `10gbase-br-d` - 10GBASE-BR-D (10GE BiDi Down) * `10gbase-br-u` - 10GBASE-BR-U (10GE BiDi Up) * `10gbase-cx4` - 10GBASE-CX4 (10GE DAC) * `10gbase-er` - 10GBASE-ER (10GE) * `10gbase-lr` - 10GBASE-LR (10GE) * `10gbase-lrm` - 10GBASE-LRM (10GE) * `10gbase-lx4` - 10GBASE-LX4 (10GE) * `10gbase-sr` - 10GBASE-SR (10GE) * `10gbase-t` - 10GBASE-T (10GE) * `10gbase-zr` - 10GBASE-ZR (10GE) * `25gbase-cr` - 25GBASE-CR (25GE DAC) * `25gbase-er` - 25GBASE-ER (25GE) * `25gbase-lr` - 25GBASE-LR (25GE) * `25gbase-sr` - 25GBASE-SR (25GE) * `25gbase-t` - 25GBASE-T (25GE) * `40gbase-cr4` - 40GBASE-CR4 (40GE DAC) * `40gbase-er4` - 40GBASE-ER4 (40GE) * `40gbase-fr4` - 40GBASE-FR4 (40GE) * `40gbase-lr4` - 40GBASE-LR4 (40GE) * `40gbase-sr4` - 40GBASE-SR4 (40GE) * `50gbase-cr` - 50GBASE-CR (50GE DAC) * `50gbase-er` - 50GBASE-ER (50GE) * `50gbase-fr` - 50GBASE-FR (50GE) * `50gbase-lr` - 50GBASE-LR (50GE) * `50gbase-sr` - 50GBASE-SR (50GE) * `100gbase-cr1` - 100GBASE-CR1 (100GE DAC) * `100gbase-cr2` - 100GBASE-CR2 (100GE DAC) * `100gbase-cr4` - 100GBASE-CR4 (100GE DAC) * `100gbase-cr10` - 100GBASE-CR10 (100GE DAC) * `100gbase-cwdm4` - 100GBASE-CWDM4 (100GE) * `100gbase-dr` - 100GBASE-DR (100GE) * `100gbase-er4` - 100GBASE-ER4 (100GE) * `100gbase-fr1` - 100GBASE-FR1 (100GE) * `100gbase-lr1` - 100GBASE-LR1 (100GE) * `100gbase-lr4` - 100GBASE-LR4 (100GE) * `100gbase-sr1` - 100GBASE-SR1 (100GE) * `100gbase-sr1.2` - 100GBASE-SR1.2 (100GE BiDi) * `100gbase-sr2` - 100GBASE-SR2 (100GE) * `100gbase-sr4` - 100GBASE-SR4 (100GE) * `100gbase-sr10` - 100GBASE-SR10 (100GE) * `100gbase-zr` - 100GBASE-ZR (100GE) * `200gbase-cr2` - 200GBASE-CR2 (200GE) * `200gbase-cr4` - 200GBASE-CR4 (200GE) * `200gbase-dr4` - 200GBASE-DR4 (200GE) * `200gbase-er4` - 200GBASE-ER4 (200GE) * `200gbase-fr4` - 200GBASE-FR4 (200GE) * `200gbase-lr4` - 200GBASE-LR4 (200GE) * `200gbase-sr2` - 200GBASE-SR2 (200GE) * `200gbase-sr4` - 200GBASE-SR4 (200GE) * `200gbase-vr2` - 200GBASE-VR2 (200GE) * `400gbase-cr4` - 400GBASE-CR4 (400GE) * `400gbase-dr4` - 400GBASE-DR4 (400GE) * `400gbase-er8` - 400GBASE-ER8 (400GE) * `400gbase-fr4` - 400GBASE-FR4 (400GE) * `400gbase-fr8` - 400GBASE-FR8 (400GE) * `400gbase-lr4` - 400GBASE-LR4 (400GE) * `400gbase-lr8` - 400GBASE-LR8 (400GE) * `400gbase-sr4` - 400GBASE-SR4 (400GE) * `400gbase-sr4_2` - 400GBASE-SR4.2 (400GE BiDi) * `400gbase-sr8` - 400GBASE-SR8 (400GE) * `400gbase-sr16` - 400GBASE-SR16 (400GE) * `400gbase-vr4` - 400GBASE-VR4 (400GE) * `400gbase-zr` - 400GBASE-ZR (400GE) * `800gbase-cr8` - 800GBASE-CR8 (800GE) * `800gbase-dr8` - 800GBASE-DR8 (800GE) * `800gbase-sr8` - 800GBASE-SR8 (800GE) * `800gbase-vr8` - 800GBASE-VR8 (800GE) * `100base-x-sfp` - SFP (100ME) * `1000base-x-gbic` - GBIC (1GE) * `1000base-x-sfp` - SFP (1GE) * `10gbase-x-sfpp` - SFP+ (10GE) * `10gbase-x-xenpak` - XENPAK (10GE) * `10gbase-x-xfp` - XFP (10GE) * `10gbase-x-x2` - X2 (10GE) * `25gbase-x-sfp28` - SFP28 (25GE) * `40gbase-x-qsfpp` - QSFP+ (40GE) * `50gbase-x-sfp28` - QSFP28 (50GE) * `50gbase-x-sfp56` - SFP56 (50GE) * `100gbase-x-cfp` - CFP (100GE) * `100gbase-x-cfp2` - CFP2 (100GE) * `100gbase-x-cfp4` - CFP4 (100GE) * `100gbase-x-cxp` - CXP (100GE) * `100gbase-x-cpak` - Cisco CPAK (100GE) * `100gbase-x-dsfp` - DSFP (100GE) * `100gbase-x-qsfp28` - QSFP28 (100GE) * `100gbase-x-qsfpdd` - QSFP-DD (100GE) * `100gbase-x-sfpdd` - SFP-DD (100GE) * `200gbase-x-cfp2` - CFP2 (200GE) * `200gbase-x-qsfp56` - QSFP56 (200GE) * `200gbase-x-qsfpdd` - QSFP-DD (200GE) * `400gbase-x-qsfp112` - QSFP112 (400GE) * `400gbase-x-qsfpdd` - QSFP-DD (400GE) * `400gbase-x-cdfp` - CDFP (400GE) * `400gbase-x-cfp2` - CFP2 (400GE) * `400gbase-x-cfp8` - CPF8 (400GE) * `400gbase-x-osfp` - OSFP (400GE) * `400gbase-x-osfp-rhs` - OSFP-RHS (400GE) * `800gbase-x-osfp` - OSFP (800GE) * `800gbase-x-qsfpdd` - QSFP-DD (800GE) * `1000base-kx` - 1000BASE-KX (1GE) * `2.5gbase-kx` - 2.5GBASE-KX (2.5GE) * `5gbase-kr` - 5GBASE-KR (5GE) * `10gbase-kr` - 10GBASE-KR (10GE) * `10gbase-kx4` - 10GBASE-KX4 (10GE) * `25gbase-kr` - 25GBASE-KR (25GE) * `40gbase-kr4` - 40GBASE-KR4 (40GE) * `50gbase-kr` - 50GBASE-KR (50GE) * `100gbase-kp4` - 100GBASE-KP4 (100GE) * `100gbase-kr2` - 100GBASE-KR2 (100GE) * `100gbase-kr4` - 100GBASE-KR4 (100GE) * `ieee802.11a` - IEEE 802.11a * `ieee802.11g` - IEEE 802.11b/g * `ieee802.11n` - IEEE 802.11n (Wi-Fi 4) * `ieee802.11ac` - IEEE 802.11ac (Wi-Fi 5) * `ieee802.11ad` - IEEE 802.11ad (WiGig) * `ieee802.11ax` - IEEE 802.11ax (Wi-Fi 6) * `ieee802.11ay` - IEEE 802.11ay (WiGig) * `ieee802.11be` - IEEE 802.11be (Wi-Fi 7) * `ieee802.15.1` - IEEE 802.15.1 (Bluetooth) * `ieee802.15.4` - IEEE 802.15.4 (LR-WPAN) * `other-wireless` - Other (Wireless) * `gsm` - GSM * `cdma` - CDMA * `lte` - LTE * `4g` - 4G * `5g` - 5G * `sonet-oc3` - OC-3/STM-1 * `sonet-oc12` - OC-12/STM-4 * `sonet-oc48` - OC-48/STM-16 * `sonet-oc192` - OC-192/STM-64 * `sonet-oc768` - OC-768/STM-256 * `sonet-oc1920` - OC-1920/STM-640 * `sonet-oc3840` - OC-3840/STM-1234 * `1gfc-sfp` - SFP (1GFC) * `2gfc-sfp` - SFP (2GFC) * `4gfc-sfp` - SFP (4GFC) * `8gfc-sfpp` - SFP+ (8GFC) * `16gfc-sfpp` - SFP+ (16GFC) * `32gfc-sfp28` - SFP28 (32GFC) * `32gfc-sfpp` - SFP+ (32GFC) * `64gfc-qsfpp` - QSFP+ (64GFC) * `64gfc-sfpdd` - SFP-DD (64GFC) * `64gfc-sfpp` - SFP+ (64GFC) * `128gfc-qsfp28` - QSFP28 (128GFC) * `infiniband-sdr` - SDR (2 Gbps) * `infiniband-ddr` - DDR (4 Gbps) * `infiniband-qdr` - QDR (8 Gbps) * `infiniband-fdr10` - FDR10 (10 Gbps) * `infiniband-fdr` - FDR (13.5 Gbps) * `infiniband-edr` - EDR (25 Gbps) * `infiniband-hdr` - HDR (50 Gbps) * `infiniband-ndr` - NDR (100 Gbps) * `infiniband-xdr` - XDR (250 Gbps) * `t1` - T1 (1.544 Mbps) * `e1` - E1 (2.048 Mbps) * `t3` - T3 (45 Mbps) * `e3` - E3 (34 Mbps) * `xdsl` - xDSL * `docsis` - DOCSIS * `moca` - MoCA * `bpon` - BPON (622 Mbps / 155 Mbps) * `epon` - EPON (1 Gbps) * `10g-epon` - 10G-EPON (10 Gbps) * `gpon` - GPON (2.5 Gbps / 1.25 Gbps) * `xg-pon` - XG-PON (10 Gbps / 2.5 Gbps) * `xgs-pon` - XGS-PON (10 Gbps) * `ng-pon2` - NG-PON2 (TWDM-PON) (4x10 Gbps) * `25g-pon` - 25G-PON (25 Gbps) * `50g-pon` - 50G-PON (50 Gbps) * `cisco-stackwise` - Cisco StackWise * `cisco-stackwise-plus` - Cisco StackWise Plus * `cisco-flexstack` - Cisco FlexStack * `cisco-flexstack-plus` - Cisco FlexStack Plus * `cisco-stackwise-80` - Cisco StackWise-80 * `cisco-stackwise-160` - Cisco StackWise-160 * `cisco-stackwise-320` - Cisco StackWise-320 * `cisco-stackwise-480` - Cisco StackWise-480 * `cisco-stackwise-1t` - Cisco StackWise-1T * `juniper-vcp` - Juniper VCP * `extreme-summitstack` - Extreme SummitStack * `extreme-summitstack-128` - Extreme SummitStack-128 * `extreme-summitstack-256` - Extreme SummitStack-256 * `extreme-summitstack-512` - Extreme SummitStack-512 * `other` - Other
36    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
37    pub r#type: Option<RHashType>,
38    #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
39    pub enabled: Option<bool>,
40    #[serde(rename = "mgmt_only", skip_serializing_if = "Option::is_none")]
41    pub mgmt_only: Option<bool>,
42    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
43    pub description: Option<String>,
44    #[serde(
45        rename = "bridge",
46        default,
47        with = "::serde_with::rust::double_option",
48        skip_serializing_if = "Option::is_none"
49    )]
50    pub bridge: Option<Option<i32>>,
51    /// * `pd` - PD * `pse` - PSE
52    #[serde(
53        rename = "poe_mode",
54        default,
55        with = "::serde_with::rust::double_option",
56        skip_serializing_if = "Option::is_none"
57    )]
58    pub poe_mode: Option<Option<PoeMode>>,
59    /// * `type1-ieee802.3af` - 802.3af (Type 1) * `type2-ieee802.3at` - 802.3at (Type 2) * `type3-ieee802.3bt` - 802.3bt (Type 3) * `type4-ieee802.3bt` - 802.3bt (Type 4) * `passive-24v-2pair` - Passive 24V (2-pair) * `passive-24v-4pair` - Passive 24V (4-pair) * `passive-48v-2pair` - Passive 48V (2-pair) * `passive-48v-4pair` - Passive 48V (4-pair)
60    #[serde(
61        rename = "poe_type",
62        default,
63        with = "::serde_with::rust::double_option",
64        skip_serializing_if = "Option::is_none"
65    )]
66    pub poe_type: Option<Option<PoeType>>,
67    /// * `ap` - Access point * `station` - Station
68    #[serde(
69        rename = "rf_role",
70        default,
71        with = "::serde_with::rust::double_option",
72        skip_serializing_if = "Option::is_none"
73    )]
74    pub rf_role: Option<Option<RfRole>>,
75}
76
77impl PatchedWritableInterfaceTemplateRequest {
78    /// Extends the built-in ModelSerializer to enforce calling full_clean() on a copy of the associated instance during validation. (DRF does not do this by default; see <https://github.com/encode/django-rest-framework/issues/3144>)
79    pub fn new() -> PatchedWritableInterfaceTemplateRequest {
80        PatchedWritableInterfaceTemplateRequest {
81            device_type: None,
82            module_type: None,
83            name: None,
84            label: None,
85            r#type: None,
86            enabled: None,
87            mgmt_only: None,
88            description: None,
89            bridge: None,
90            poe_mode: None,
91            poe_type: None,
92            rf_role: None,
93        }
94    }
95}
96
97/// * `virtual` - Virtual * `bridge` - Bridge * `lag` - Link Aggregation Group (LAG) * `100base-fx` - 100BASE-FX (10/100ME) * `100base-lfx` - 100BASE-LFX (10/100ME) * `100base-tx` - 100BASE-TX (10/100ME) * `100base-t1` - 100BASE-T1 (10/100ME) * `1000base-bx10-d` - 1000BASE-BX10-D (1GE BiDi Down) * `1000base-bx10-u` - 1000BASE-BX10-U (1GE BiDi Up) * `1000base-cwdm` - 1000BASE-CWDM (1GE) * `1000base-cx` - 1000BASE-CX (1GE DAC) * `1000base-dwdm` - 1000BASE-DWDM (1GE) * `1000base-ex` - 1000BASE-EX (1GE) * `1000base-lsx` - 1000BASE-LSX (1GE) * `1000base-lx` - 1000BASE-LX (1GE) * `1000base-lx10` - 1000BASE-LX10/LH (1GE) * `1000base-sx` - 1000BASE-SX (1GE) * `1000base-t` - 1000BASE-T (1GE) * `1000base-tx` - 1000BASE-TX (1GE) * `1000base-zx` - 1000BASE-ZX (1GE) * `2.5gbase-t` - 2.5GBASE-T (2.5GE) * `5gbase-t` - 5GBASE-T (5GE) * `10gbase-br-d` - 10GBASE-BR-D (10GE BiDi Down) * `10gbase-br-u` - 10GBASE-BR-U (10GE BiDi Up) * `10gbase-cx4` - 10GBASE-CX4 (10GE DAC) * `10gbase-er` - 10GBASE-ER (10GE) * `10gbase-lr` - 10GBASE-LR (10GE) * `10gbase-lrm` - 10GBASE-LRM (10GE) * `10gbase-lx4` - 10GBASE-LX4 (10GE) * `10gbase-sr` - 10GBASE-SR (10GE) * `10gbase-t` - 10GBASE-T (10GE) * `10gbase-zr` - 10GBASE-ZR (10GE) * `25gbase-cr` - 25GBASE-CR (25GE DAC) * `25gbase-er` - 25GBASE-ER (25GE) * `25gbase-lr` - 25GBASE-LR (25GE) * `25gbase-sr` - 25GBASE-SR (25GE) * `25gbase-t` - 25GBASE-T (25GE) * `40gbase-cr4` - 40GBASE-CR4 (40GE DAC) * `40gbase-er4` - 40GBASE-ER4 (40GE) * `40gbase-fr4` - 40GBASE-FR4 (40GE) * `40gbase-lr4` - 40GBASE-LR4 (40GE) * `40gbase-sr4` - 40GBASE-SR4 (40GE) * `50gbase-cr` - 50GBASE-CR (50GE DAC) * `50gbase-er` - 50GBASE-ER (50GE) * `50gbase-fr` - 50GBASE-FR (50GE) * `50gbase-lr` - 50GBASE-LR (50GE) * `50gbase-sr` - 50GBASE-SR (50GE) * `100gbase-cr1` - 100GBASE-CR1 (100GE DAC) * `100gbase-cr2` - 100GBASE-CR2 (100GE DAC) * `100gbase-cr4` - 100GBASE-CR4 (100GE DAC) * `100gbase-cr10` - 100GBASE-CR10 (100GE DAC) * `100gbase-cwdm4` - 100GBASE-CWDM4 (100GE) * `100gbase-dr` - 100GBASE-DR (100GE) * `100gbase-er4` - 100GBASE-ER4 (100GE) * `100gbase-fr1` - 100GBASE-FR1 (100GE) * `100gbase-lr1` - 100GBASE-LR1 (100GE) * `100gbase-lr4` - 100GBASE-LR4 (100GE) * `100gbase-sr1` - 100GBASE-SR1 (100GE) * `100gbase-sr1.2` - 100GBASE-SR1.2 (100GE BiDi) * `100gbase-sr2` - 100GBASE-SR2 (100GE) * `100gbase-sr4` - 100GBASE-SR4 (100GE) * `100gbase-sr10` - 100GBASE-SR10 (100GE) * `100gbase-zr` - 100GBASE-ZR (100GE) * `200gbase-cr2` - 200GBASE-CR2 (200GE) * `200gbase-cr4` - 200GBASE-CR4 (200GE) * `200gbase-dr4` - 200GBASE-DR4 (200GE) * `200gbase-er4` - 200GBASE-ER4 (200GE) * `200gbase-fr4` - 200GBASE-FR4 (200GE) * `200gbase-lr4` - 200GBASE-LR4 (200GE) * `200gbase-sr2` - 200GBASE-SR2 (200GE) * `200gbase-sr4` - 200GBASE-SR4 (200GE) * `200gbase-vr2` - 200GBASE-VR2 (200GE) * `400gbase-cr4` - 400GBASE-CR4 (400GE) * `400gbase-dr4` - 400GBASE-DR4 (400GE) * `400gbase-er8` - 400GBASE-ER8 (400GE) * `400gbase-fr4` - 400GBASE-FR4 (400GE) * `400gbase-fr8` - 400GBASE-FR8 (400GE) * `400gbase-lr4` - 400GBASE-LR4 (400GE) * `400gbase-lr8` - 400GBASE-LR8 (400GE) * `400gbase-sr4` - 400GBASE-SR4 (400GE) * `400gbase-sr4_2` - 400GBASE-SR4.2 (400GE BiDi) * `400gbase-sr8` - 400GBASE-SR8 (400GE) * `400gbase-sr16` - 400GBASE-SR16 (400GE) * `400gbase-vr4` - 400GBASE-VR4 (400GE) * `400gbase-zr` - 400GBASE-ZR (400GE) * `800gbase-cr8` - 800GBASE-CR8 (800GE) * `800gbase-dr8` - 800GBASE-DR8 (800GE) * `800gbase-sr8` - 800GBASE-SR8 (800GE) * `800gbase-vr8` - 800GBASE-VR8 (800GE) * `100base-x-sfp` - SFP (100ME) * `1000base-x-gbic` - GBIC (1GE) * `1000base-x-sfp` - SFP (1GE) * `10gbase-x-sfpp` - SFP+ (10GE) * `10gbase-x-xenpak` - XENPAK (10GE) * `10gbase-x-xfp` - XFP (10GE) * `10gbase-x-x2` - X2 (10GE) * `25gbase-x-sfp28` - SFP28 (25GE) * `40gbase-x-qsfpp` - QSFP+ (40GE) * `50gbase-x-sfp28` - QSFP28 (50GE) * `50gbase-x-sfp56` - SFP56 (50GE) * `100gbase-x-cfp` - CFP (100GE) * `100gbase-x-cfp2` - CFP2 (100GE) * `100gbase-x-cfp4` - CFP4 (100GE) * `100gbase-x-cxp` - CXP (100GE) * `100gbase-x-cpak` - Cisco CPAK (100GE) * `100gbase-x-dsfp` - DSFP (100GE) * `100gbase-x-qsfp28` - QSFP28 (100GE) * `100gbase-x-qsfpdd` - QSFP-DD (100GE) * `100gbase-x-sfpdd` - SFP-DD (100GE) * `200gbase-x-cfp2` - CFP2 (200GE) * `200gbase-x-qsfp56` - QSFP56 (200GE) * `200gbase-x-qsfpdd` - QSFP-DD (200GE) * `400gbase-x-qsfp112` - QSFP112 (400GE) * `400gbase-x-qsfpdd` - QSFP-DD (400GE) * `400gbase-x-cdfp` - CDFP (400GE) * `400gbase-x-cfp2` - CFP2 (400GE) * `400gbase-x-cfp8` - CPF8 (400GE) * `400gbase-x-osfp` - OSFP (400GE) * `400gbase-x-osfp-rhs` - OSFP-RHS (400GE) * `800gbase-x-osfp` - OSFP (800GE) * `800gbase-x-qsfpdd` - QSFP-DD (800GE) * `1000base-kx` - 1000BASE-KX (1GE) * `2.5gbase-kx` - 2.5GBASE-KX (2.5GE) * `5gbase-kr` - 5GBASE-KR (5GE) * `10gbase-kr` - 10GBASE-KR (10GE) * `10gbase-kx4` - 10GBASE-KX4 (10GE) * `25gbase-kr` - 25GBASE-KR (25GE) * `40gbase-kr4` - 40GBASE-KR4 (40GE) * `50gbase-kr` - 50GBASE-KR (50GE) * `100gbase-kp4` - 100GBASE-KP4 (100GE) * `100gbase-kr2` - 100GBASE-KR2 (100GE) * `100gbase-kr4` - 100GBASE-KR4 (100GE) * `ieee802.11a` - IEEE 802.11a * `ieee802.11g` - IEEE 802.11b/g * `ieee802.11n` - IEEE 802.11n (Wi-Fi 4) * `ieee802.11ac` - IEEE 802.11ac (Wi-Fi 5) * `ieee802.11ad` - IEEE 802.11ad (WiGig) * `ieee802.11ax` - IEEE 802.11ax (Wi-Fi 6) * `ieee802.11ay` - IEEE 802.11ay (WiGig) * `ieee802.11be` - IEEE 802.11be (Wi-Fi 7) * `ieee802.15.1` - IEEE 802.15.1 (Bluetooth) * `ieee802.15.4` - IEEE 802.15.4 (LR-WPAN) * `other-wireless` - Other (Wireless) * `gsm` - GSM * `cdma` - CDMA * `lte` - LTE * `4g` - 4G * `5g` - 5G * `sonet-oc3` - OC-3/STM-1 * `sonet-oc12` - OC-12/STM-4 * `sonet-oc48` - OC-48/STM-16 * `sonet-oc192` - OC-192/STM-64 * `sonet-oc768` - OC-768/STM-256 * `sonet-oc1920` - OC-1920/STM-640 * `sonet-oc3840` - OC-3840/STM-1234 * `1gfc-sfp` - SFP (1GFC) * `2gfc-sfp` - SFP (2GFC) * `4gfc-sfp` - SFP (4GFC) * `8gfc-sfpp` - SFP+ (8GFC) * `16gfc-sfpp` - SFP+ (16GFC) * `32gfc-sfp28` - SFP28 (32GFC) * `32gfc-sfpp` - SFP+ (32GFC) * `64gfc-qsfpp` - QSFP+ (64GFC) * `64gfc-sfpdd` - SFP-DD (64GFC) * `64gfc-sfpp` - SFP+ (64GFC) * `128gfc-qsfp28` - QSFP28 (128GFC) * `infiniband-sdr` - SDR (2 Gbps) * `infiniband-ddr` - DDR (4 Gbps) * `infiniband-qdr` - QDR (8 Gbps) * `infiniband-fdr10` - FDR10 (10 Gbps) * `infiniband-fdr` - FDR (13.5 Gbps) * `infiniband-edr` - EDR (25 Gbps) * `infiniband-hdr` - HDR (50 Gbps) * `infiniband-ndr` - NDR (100 Gbps) * `infiniband-xdr` - XDR (250 Gbps) * `t1` - T1 (1.544 Mbps) * `e1` - E1 (2.048 Mbps) * `t3` - T3 (45 Mbps) * `e3` - E3 (34 Mbps) * `xdsl` - xDSL * `docsis` - DOCSIS * `moca` - MoCA * `bpon` - BPON (622 Mbps / 155 Mbps) * `epon` - EPON (1 Gbps) * `10g-epon` - 10G-EPON (10 Gbps) * `gpon` - GPON (2.5 Gbps / 1.25 Gbps) * `xg-pon` - XG-PON (10 Gbps / 2.5 Gbps) * `xgs-pon` - XGS-PON (10 Gbps) * `ng-pon2` - NG-PON2 (TWDM-PON) (4x10 Gbps) * `25g-pon` - 25G-PON (25 Gbps) * `50g-pon` - 50G-PON (50 Gbps) * `cisco-stackwise` - Cisco StackWise * `cisco-stackwise-plus` - Cisco StackWise Plus * `cisco-flexstack` - Cisco FlexStack * `cisco-flexstack-plus` - Cisco FlexStack Plus * `cisco-stackwise-80` - Cisco StackWise-80 * `cisco-stackwise-160` - Cisco StackWise-160 * `cisco-stackwise-320` - Cisco StackWise-320 * `cisco-stackwise-480` - Cisco StackWise-480 * `cisco-stackwise-1t` - Cisco StackWise-1T * `juniper-vcp` - Juniper VCP * `extreme-summitstack` - Extreme SummitStack * `extreme-summitstack-128` - Extreme SummitStack-128 * `extreme-summitstack-256` - Extreme SummitStack-256 * `extreme-summitstack-512` - Extreme SummitStack-512 * `other` - Other
98#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
99pub enum RHashType {
100    #[serde(rename = "virtual")]
101    Virtual,
102    #[serde(rename = "bridge")]
103    Bridge,
104    #[serde(rename = "lag")]
105    Lag,
106    #[serde(rename = "100base-fx")]
107    Variant100baseFx,
108    #[serde(rename = "100base-lfx")]
109    Variant100baseLfx,
110    #[serde(rename = "100base-tx")]
111    Variant100baseTx,
112    #[serde(rename = "100base-t1")]
113    Variant100baseT1,
114    #[serde(rename = "1000base-bx10-d")]
115    Variant1000baseBx10D,
116    #[serde(rename = "1000base-bx10-u")]
117    Variant1000baseBx10U,
118    #[serde(rename = "1000base-cwdm")]
119    Variant1000baseCwdm,
120    #[serde(rename = "1000base-cx")]
121    Variant1000baseCx,
122    #[serde(rename = "1000base-dwdm")]
123    Variant1000baseDwdm,
124    #[serde(rename = "1000base-ex")]
125    Variant1000baseEx,
126    #[serde(rename = "1000base-lsx")]
127    Variant1000baseLsx,
128    #[serde(rename = "1000base-lx")]
129    Variant1000baseLx,
130    #[serde(rename = "1000base-lx10")]
131    Variant1000baseLx10,
132    #[serde(rename = "1000base-sx")]
133    Variant1000baseSx,
134    #[serde(rename = "1000base-t")]
135    Variant1000baseT,
136    #[serde(rename = "1000base-tx")]
137    Variant1000baseTx,
138    #[serde(rename = "1000base-zx")]
139    Variant1000baseZx,
140    #[serde(rename = "2.5gbase-t")]
141    Variant2Period5gbaseT,
142    #[serde(rename = "5gbase-t")]
143    Variant5gbaseT,
144    #[serde(rename = "10gbase-br-d")]
145    Variant10gbaseBrD,
146    #[serde(rename = "10gbase-br-u")]
147    Variant10gbaseBrU,
148    #[serde(rename = "10gbase-cx4")]
149    Variant10gbaseCx4,
150    #[serde(rename = "10gbase-er")]
151    Variant10gbaseEr,
152    #[serde(rename = "10gbase-lr")]
153    Variant10gbaseLr,
154    #[serde(rename = "10gbase-lrm")]
155    Variant10gbaseLrm,
156    #[serde(rename = "10gbase-lx4")]
157    Variant10gbaseLx4,
158    #[serde(rename = "10gbase-sr")]
159    Variant10gbaseSr,
160    #[serde(rename = "10gbase-t")]
161    Variant10gbaseT,
162    #[serde(rename = "10gbase-zr")]
163    Variant10gbaseZr,
164    #[serde(rename = "25gbase-cr")]
165    Variant25gbaseCr,
166    #[serde(rename = "25gbase-er")]
167    Variant25gbaseEr,
168    #[serde(rename = "25gbase-lr")]
169    Variant25gbaseLr,
170    #[serde(rename = "25gbase-sr")]
171    Variant25gbaseSr,
172    #[serde(rename = "25gbase-t")]
173    Variant25gbaseT,
174    #[serde(rename = "40gbase-cr4")]
175    Variant40gbaseCr4,
176    #[serde(rename = "40gbase-er4")]
177    Variant40gbaseEr4,
178    #[serde(rename = "40gbase-fr4")]
179    Variant40gbaseFr4,
180    #[serde(rename = "40gbase-lr4")]
181    Variant40gbaseLr4,
182    #[serde(rename = "40gbase-sr4")]
183    Variant40gbaseSr4,
184    #[serde(rename = "50gbase-cr")]
185    Variant50gbaseCr,
186    #[serde(rename = "50gbase-er")]
187    Variant50gbaseEr,
188    #[serde(rename = "50gbase-fr")]
189    Variant50gbaseFr,
190    #[serde(rename = "50gbase-lr")]
191    Variant50gbaseLr,
192    #[serde(rename = "50gbase-sr")]
193    Variant50gbaseSr,
194    #[serde(rename = "100gbase-cr1")]
195    Variant100gbaseCr1,
196    #[serde(rename = "100gbase-cr2")]
197    Variant100gbaseCr2,
198    #[serde(rename = "100gbase-cr4")]
199    Variant100gbaseCr4,
200    #[serde(rename = "100gbase-cr10")]
201    Variant100gbaseCr10,
202    #[serde(rename = "100gbase-cwdm4")]
203    Variant100gbaseCwdm4,
204    #[serde(rename = "100gbase-dr")]
205    Variant100gbaseDr,
206    #[serde(rename = "100gbase-er4")]
207    Variant100gbaseEr4,
208    #[serde(rename = "100gbase-fr1")]
209    Variant100gbaseFr1,
210    #[serde(rename = "100gbase-lr1")]
211    Variant100gbaseLr1,
212    #[serde(rename = "100gbase-lr4")]
213    Variant100gbaseLr4,
214    #[serde(rename = "100gbase-sr1")]
215    Variant100gbaseSr1,
216    #[serde(rename = "100gbase-sr1.2")]
217    Variant100gbaseSr1Period2,
218    #[serde(rename = "100gbase-sr2")]
219    Variant100gbaseSr2,
220    #[serde(rename = "100gbase-sr4")]
221    Variant100gbaseSr4,
222    #[serde(rename = "100gbase-sr10")]
223    Variant100gbaseSr10,
224    #[serde(rename = "100gbase-zr")]
225    Variant100gbaseZr,
226    #[serde(rename = "200gbase-cr2")]
227    Variant200gbaseCr2,
228    #[serde(rename = "200gbase-cr4")]
229    Variant200gbaseCr4,
230    #[serde(rename = "200gbase-dr4")]
231    Variant200gbaseDr4,
232    #[serde(rename = "200gbase-er4")]
233    Variant200gbaseEr4,
234    #[serde(rename = "200gbase-fr4")]
235    Variant200gbaseFr4,
236    #[serde(rename = "200gbase-lr4")]
237    Variant200gbaseLr4,
238    #[serde(rename = "200gbase-sr2")]
239    Variant200gbaseSr2,
240    #[serde(rename = "200gbase-sr4")]
241    Variant200gbaseSr4,
242    #[serde(rename = "200gbase-vr2")]
243    Variant200gbaseVr2,
244    #[serde(rename = "400gbase-cr4")]
245    Variant400gbaseCr4,
246    #[serde(rename = "400gbase-dr4")]
247    Variant400gbaseDr4,
248    #[serde(rename = "400gbase-er8")]
249    Variant400gbaseEr8,
250    #[serde(rename = "400gbase-fr4")]
251    Variant400gbaseFr4,
252    #[serde(rename = "400gbase-fr8")]
253    Variant400gbaseFr8,
254    #[serde(rename = "400gbase-lr4")]
255    Variant400gbaseLr4,
256    #[serde(rename = "400gbase-lr8")]
257    Variant400gbaseLr8,
258    #[serde(rename = "400gbase-sr4")]
259    Variant400gbaseSr4,
260    #[serde(rename = "400gbase-sr4_2")]
261    Variant400gbaseSr42,
262    #[serde(rename = "400gbase-sr8")]
263    Variant400gbaseSr8,
264    #[serde(rename = "400gbase-sr16")]
265    Variant400gbaseSr16,
266    #[serde(rename = "400gbase-vr4")]
267    Variant400gbaseVr4,
268    #[serde(rename = "400gbase-zr")]
269    Variant400gbaseZr,
270    #[serde(rename = "800gbase-cr8")]
271    Variant800gbaseCr8,
272    #[serde(rename = "800gbase-dr8")]
273    Variant800gbaseDr8,
274    #[serde(rename = "800gbase-sr8")]
275    Variant800gbaseSr8,
276    #[serde(rename = "800gbase-vr8")]
277    Variant800gbaseVr8,
278    #[serde(rename = "100base-x-sfp")]
279    Variant100baseXSfp,
280    #[serde(rename = "1000base-x-gbic")]
281    Variant1000baseXGbic,
282    #[serde(rename = "1000base-x-sfp")]
283    Variant1000baseXSfp,
284    #[serde(rename = "10gbase-x-sfpp")]
285    Variant10gbaseXSfpp,
286    #[serde(rename = "10gbase-x-xenpak")]
287    Variant10gbaseXXenpak,
288    #[serde(rename = "10gbase-x-xfp")]
289    Variant10gbaseXXfp,
290    #[serde(rename = "10gbase-x-x2")]
291    Variant10gbaseXx2,
292    #[serde(rename = "25gbase-x-sfp28")]
293    Variant25gbaseXSfp28,
294    #[serde(rename = "40gbase-x-qsfpp")]
295    Variant40gbaseXQsfpp,
296    #[serde(rename = "50gbase-x-sfp28")]
297    Variant50gbaseXSfp28,
298    #[serde(rename = "50gbase-x-sfp56")]
299    Variant50gbaseXSfp56,
300    #[serde(rename = "100gbase-x-cfp")]
301    Variant100gbaseXCfp,
302    #[serde(rename = "100gbase-x-cfp2")]
303    Variant100gbaseXCfp2,
304    #[serde(rename = "100gbase-x-cfp4")]
305    Variant100gbaseXCfp4,
306    #[serde(rename = "100gbase-x-cxp")]
307    Variant100gbaseXCxp,
308    #[serde(rename = "100gbase-x-cpak")]
309    Variant100gbaseXCpak,
310    #[serde(rename = "100gbase-x-dsfp")]
311    Variant100gbaseXDsfp,
312    #[serde(rename = "100gbase-x-qsfp28")]
313    Variant100gbaseXQsfp28,
314    #[serde(rename = "100gbase-x-qsfpdd")]
315    Variant100gbaseXQsfpdd,
316    #[serde(rename = "100gbase-x-sfpdd")]
317    Variant100gbaseXSfpdd,
318    #[serde(rename = "200gbase-x-cfp2")]
319    Variant200gbaseXCfp2,
320    #[serde(rename = "200gbase-x-qsfp56")]
321    Variant200gbaseXQsfp56,
322    #[serde(rename = "200gbase-x-qsfpdd")]
323    Variant200gbaseXQsfpdd,
324    #[serde(rename = "400gbase-x-qsfp112")]
325    Variant400gbaseXQsfp112,
326    #[serde(rename = "400gbase-x-qsfpdd")]
327    Variant400gbaseXQsfpdd,
328    #[serde(rename = "400gbase-x-cdfp")]
329    Variant400gbaseXCdfp,
330    #[serde(rename = "400gbase-x-cfp2")]
331    Variant400gbaseXCfp2,
332    #[serde(rename = "400gbase-x-cfp8")]
333    Variant400gbaseXCfp8,
334    #[serde(rename = "400gbase-x-osfp")]
335    Variant400gbaseXOsfp,
336    #[serde(rename = "400gbase-x-osfp-rhs")]
337    Variant400gbaseXOsfpRhs,
338    #[serde(rename = "800gbase-x-osfp")]
339    Variant800gbaseXOsfp,
340    #[serde(rename = "800gbase-x-qsfpdd")]
341    Variant800gbaseXQsfpdd,
342    #[serde(rename = "1000base-kx")]
343    Variant1000baseKx,
344    #[serde(rename = "2.5gbase-kx")]
345    Variant2Period5gbaseKx,
346    #[serde(rename = "5gbase-kr")]
347    Variant5gbaseKr,
348    #[serde(rename = "10gbase-kr")]
349    Variant10gbaseKr,
350    #[serde(rename = "10gbase-kx4")]
351    Variant10gbaseKx4,
352    #[serde(rename = "25gbase-kr")]
353    Variant25gbaseKr,
354    #[serde(rename = "40gbase-kr4")]
355    Variant40gbaseKr4,
356    #[serde(rename = "50gbase-kr")]
357    Variant50gbaseKr,
358    #[serde(rename = "100gbase-kp4")]
359    Variant100gbaseKp4,
360    #[serde(rename = "100gbase-kr2")]
361    Variant100gbaseKr2,
362    #[serde(rename = "100gbase-kr4")]
363    Variant100gbaseKr4,
364    #[serde(rename = "ieee802.11a")]
365    Ieee802Period11a,
366    #[serde(rename = "ieee802.11g")]
367    Ieee802Period11g,
368    #[serde(rename = "ieee802.11n")]
369    Ieee802Period11n,
370    #[serde(rename = "ieee802.11ac")]
371    Ieee802Period11ac,
372    #[serde(rename = "ieee802.11ad")]
373    Ieee802Period11ad,
374    #[serde(rename = "ieee802.11ax")]
375    Ieee802Period11ax,
376    #[serde(rename = "ieee802.11ay")]
377    Ieee802Period11ay,
378    #[serde(rename = "ieee802.11be")]
379    Ieee802Period11be,
380    #[serde(rename = "ieee802.15.1")]
381    Ieee802Period15Period1,
382    #[serde(rename = "ieee802.15.4")]
383    Ieee802Period15Period4,
384    #[serde(rename = "other-wireless")]
385    OtherWireless,
386    #[serde(rename = "gsm")]
387    Gsm,
388    #[serde(rename = "cdma")]
389    Cdma,
390    #[serde(rename = "lte")]
391    Lte,
392    #[serde(rename = "4g")]
393    Variant4g,
394    #[serde(rename = "5g")]
395    Variant5g,
396    #[serde(rename = "sonet-oc3")]
397    SonetOc3,
398    #[serde(rename = "sonet-oc12")]
399    SonetOc12,
400    #[serde(rename = "sonet-oc48")]
401    SonetOc48,
402    #[serde(rename = "sonet-oc192")]
403    SonetOc192,
404    #[serde(rename = "sonet-oc768")]
405    SonetOc768,
406    #[serde(rename = "sonet-oc1920")]
407    SonetOc1920,
408    #[serde(rename = "sonet-oc3840")]
409    SonetOc3840,
410    #[serde(rename = "1gfc-sfp")]
411    Variant1gfcSfp,
412    #[serde(rename = "2gfc-sfp")]
413    Variant2gfcSfp,
414    #[serde(rename = "4gfc-sfp")]
415    Variant4gfcSfp,
416    #[serde(rename = "8gfc-sfpp")]
417    Variant8gfcSfpp,
418    #[serde(rename = "16gfc-sfpp")]
419    Variant16gfcSfpp,
420    #[serde(rename = "32gfc-sfp28")]
421    Variant32gfcSfp28,
422    #[serde(rename = "32gfc-sfpp")]
423    Variant32gfcSfpp,
424    #[serde(rename = "64gfc-qsfpp")]
425    Variant64gfcQsfpp,
426    #[serde(rename = "64gfc-sfpdd")]
427    Variant64gfcSfpdd,
428    #[serde(rename = "64gfc-sfpp")]
429    Variant64gfcSfpp,
430    #[serde(rename = "128gfc-qsfp28")]
431    Variant128gfcQsfp28,
432    #[serde(rename = "infiniband-sdr")]
433    InfinibandSdr,
434    #[serde(rename = "infiniband-ddr")]
435    InfinibandDdr,
436    #[serde(rename = "infiniband-qdr")]
437    InfinibandQdr,
438    #[serde(rename = "infiniband-fdr10")]
439    InfinibandFdr10,
440    #[serde(rename = "infiniband-fdr")]
441    InfinibandFdr,
442    #[serde(rename = "infiniband-edr")]
443    InfinibandEdr,
444    #[serde(rename = "infiniband-hdr")]
445    InfinibandHdr,
446    #[serde(rename = "infiniband-ndr")]
447    InfinibandNdr,
448    #[serde(rename = "infiniband-xdr")]
449    InfinibandXdr,
450    #[serde(rename = "t1")]
451    T1,
452    #[serde(rename = "e1")]
453    E1,
454    #[serde(rename = "t3")]
455    T3,
456    #[serde(rename = "e3")]
457    E3,
458    #[serde(rename = "xdsl")]
459    Xdsl,
460    #[serde(rename = "docsis")]
461    Docsis,
462    #[serde(rename = "moca")]
463    Moca,
464    #[serde(rename = "bpon")]
465    Bpon,
466    #[serde(rename = "epon")]
467    Epon,
468    #[serde(rename = "10g-epon")]
469    Variant10gEpon,
470    #[serde(rename = "gpon")]
471    Gpon,
472    #[serde(rename = "xg-pon")]
473    XgPon,
474    #[serde(rename = "xgs-pon")]
475    XgsPon,
476    #[serde(rename = "ng-pon2")]
477    NgPon2,
478    #[serde(rename = "25g-pon")]
479    Variant25gPon,
480    #[serde(rename = "50g-pon")]
481    Variant50gPon,
482    #[serde(rename = "cisco-stackwise")]
483    CiscoStackwise,
484    #[serde(rename = "cisco-stackwise-plus")]
485    CiscoStackwisePlus,
486    #[serde(rename = "cisco-flexstack")]
487    CiscoFlexstack,
488    #[serde(rename = "cisco-flexstack-plus")]
489    CiscoFlexstackPlus,
490    #[serde(rename = "cisco-stackwise-80")]
491    CiscoStackwise80,
492    #[serde(rename = "cisco-stackwise-160")]
493    CiscoStackwise160,
494    #[serde(rename = "cisco-stackwise-320")]
495    CiscoStackwise320,
496    #[serde(rename = "cisco-stackwise-480")]
497    CiscoStackwise480,
498    #[serde(rename = "cisco-stackwise-1t")]
499    CiscoStackwise1t,
500    #[serde(rename = "juniper-vcp")]
501    JuniperVcp,
502    #[serde(rename = "extreme-summitstack")]
503    ExtremeSummitstack,
504    #[serde(rename = "extreme-summitstack-128")]
505    ExtremeSummitstack128,
506    #[serde(rename = "extreme-summitstack-256")]
507    ExtremeSummitstack256,
508    #[serde(rename = "extreme-summitstack-512")]
509    ExtremeSummitstack512,
510    #[serde(rename = "other")]
511    Other,
512}
513
514impl Default for RHashType {
515    fn default() -> RHashType {
516        Self::Virtual
517    }
518}
519/// * `pd` - PD * `pse` - PSE
520#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
521pub enum PoeMode {
522    #[serde(rename = "pd")]
523    Pd,
524    #[serde(rename = "pse")]
525    Pse,
526    #[serde(rename = "")]
527    Empty,
528    #[serde(rename = "null")]
529    Null,
530}
531
532impl Default for PoeMode {
533    fn default() -> PoeMode {
534        Self::Pd
535    }
536}
537/// * `type1-ieee802.3af` - 802.3af (Type 1) * `type2-ieee802.3at` - 802.3at (Type 2) * `type3-ieee802.3bt` - 802.3bt (Type 3) * `type4-ieee802.3bt` - 802.3bt (Type 4) * `passive-24v-2pair` - Passive 24V (2-pair) * `passive-24v-4pair` - Passive 24V (4-pair) * `passive-48v-2pair` - Passive 48V (2-pair) * `passive-48v-4pair` - Passive 48V (4-pair)
538#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
539pub enum PoeType {
540    #[serde(rename = "type1-ieee802.3af")]
541    Type1Ieee802Period3af,
542    #[serde(rename = "type2-ieee802.3at")]
543    Type2Ieee802Period3at,
544    #[serde(rename = "type3-ieee802.3bt")]
545    Type3Ieee802Period3bt,
546    #[serde(rename = "type4-ieee802.3bt")]
547    Type4Ieee802Period3bt,
548    #[serde(rename = "passive-24v-2pair")]
549    Passive24v2pair,
550    #[serde(rename = "passive-24v-4pair")]
551    Passive24v4pair,
552    #[serde(rename = "passive-48v-2pair")]
553    Passive48v2pair,
554    #[serde(rename = "passive-48v-4pair")]
555    Passive48v4pair,
556    #[serde(rename = "")]
557    Empty,
558    #[serde(rename = "null")]
559    Null,
560}
561
562impl Default for PoeType {
563    fn default() -> PoeType {
564        Self::Type1Ieee802Period3af
565    }
566}
567/// * `ap` - Access point * `station` - Station
568#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
569pub enum RfRole {
570    #[serde(rename = "ap")]
571    Ap,
572    #[serde(rename = "station")]
573    Station,
574    #[serde(rename = "")]
575    Empty,
576    #[serde(rename = "null")]
577    Null,
578}
579
580impl Default for RfRole {
581    fn default() -> RfRole {
582        Self::Ap
583    }
584}