Skip to main content

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