Skip to main content

netbox_openapi/models/
writable_interface_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/// WritableInterfaceRequest : Adds an `owner` field for models which have a ForeignKey to users.Owner.
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct WritableInterfaceRequest {
15    #[serde(rename = "device")]
16    pub device: Box<crate::models::BriefInterfaceRequestDevice>,
17    #[serde(rename = "vdcs", skip_serializing_if = "Option::is_none")]
18    pub vdcs: Option<Vec<i32>>,
19    #[serde(
20        rename = "module",
21        default,
22        with = "::serde_with::rust::double_option",
23        skip_serializing_if = "Option::is_none"
24    )]
25    pub module: Option<Option<Box<crate::models::BulkConsolePortRequestModule>>>,
26    #[serde(rename = "name")]
27    pub name: String,
28    /// Physical label
29    #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
30    pub label: Option<String>,
31    /// * `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
32    #[serde(rename = "type")]
33    pub r#type: RHashType,
34    #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
35    pub enabled: Option<bool>,
36    #[serde(
37        rename = "parent",
38        default,
39        with = "::serde_with::rust::double_option",
40        skip_serializing_if = "Option::is_none"
41    )]
42    pub parent: Option<Option<i32>>,
43    #[serde(
44        rename = "bridge",
45        default,
46        with = "::serde_with::rust::double_option",
47        skip_serializing_if = "Option::is_none"
48    )]
49    pub bridge: Option<Option<i32>>,
50    #[serde(
51        rename = "lag",
52        default,
53        with = "::serde_with::rust::double_option",
54        skip_serializing_if = "Option::is_none"
55    )]
56    pub lag: Option<Option<i32>>,
57    #[serde(
58        rename = "mtu",
59        default,
60        with = "::serde_with::rust::double_option",
61        skip_serializing_if = "Option::is_none"
62    )]
63    pub mtu: Option<Option<i32>>,
64    #[serde(
65        rename = "primary_mac_address",
66        default,
67        with = "::serde_with::rust::double_option",
68        skip_serializing_if = "Option::is_none"
69    )]
70    pub primary_mac_address:
71        Option<Option<Box<crate::models::BulkInterfaceRequestPrimaryMacAddress>>>,
72    #[serde(
73        rename = "speed",
74        default,
75        with = "::serde_with::rust::double_option",
76        skip_serializing_if = "Option::is_none"
77    )]
78    pub speed: Option<Option<i64>>,
79    /// * `half` - Half * `full` - Full * `auto` - Auto
80    #[serde(
81        rename = "duplex",
82        default,
83        with = "::serde_with::rust::double_option",
84        skip_serializing_if = "Option::is_none"
85    )]
86    pub duplex: Option<Option<Duplex>>,
87    #[serde(
88        rename = "wwn",
89        default,
90        with = "::serde_with::rust::double_option",
91        skip_serializing_if = "Option::is_none"
92    )]
93    pub wwn: Option<Option<String>>,
94    /// This interface is used only for out-of-band management
95    #[serde(rename = "mgmt_only", skip_serializing_if = "Option::is_none")]
96    pub mgmt_only: Option<bool>,
97    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
98    pub description: Option<String>,
99    /// IEEE 802.1Q tagging strategy  * `access` - Access * `tagged` - Tagged * `tagged-all` - Tagged (All) * `q-in-q` - Q-in-Q (802.1ad)
100    #[serde(
101        rename = "mode",
102        default,
103        with = "::serde_with::rust::double_option",
104        skip_serializing_if = "Option::is_none"
105    )]
106    pub mode: Option<Option<Mode>>,
107    /// * `ap` - Access point * `station` - Station
108    #[serde(
109        rename = "rf_role",
110        default,
111        with = "::serde_with::rust::double_option",
112        skip_serializing_if = "Option::is_none"
113    )]
114    pub rf_role: Option<Option<RfRole>>,
115    /// * `2.4g-1-2412-22` - 1 (2412 MHz) * `2.4g-2-2417-22` - 2 (2417 MHz) * `2.4g-3-2422-22` - 3 (2422 MHz) * `2.4g-4-2427-22` - 4 (2427 MHz) * `2.4g-5-2432-22` - 5 (2432 MHz) * `2.4g-6-2437-22` - 6 (2437 MHz) * `2.4g-7-2442-22` - 7 (2442 MHz) * `2.4g-8-2447-22` - 8 (2447 MHz) * `2.4g-9-2452-22` - 9 (2452 MHz) * `2.4g-10-2457-22` - 10 (2457 MHz) * `2.4g-11-2462-22` - 11 (2462 MHz) * `2.4g-12-2467-22` - 12 (2467 MHz) * `2.4g-13-2472-22` - 13 (2472 MHz) * `5g-32-5160-20` - 32 (5160/20 MHz) * `5g-34-5170-40` - 34 (5170/40 MHz) * `5g-36-5180-20` - 36 (5180/20 MHz) * `5g-38-5190-40` - 38 (5190/40 MHz) * `5g-40-5200-20` - 40 (5200/20 MHz) * `5g-42-5210-80` - 42 (5210/80 MHz) * `5g-44-5220-20` - 44 (5220/20 MHz) * `5g-46-5230-40` - 46 (5230/40 MHz) * `5g-48-5240-20` - 48 (5240/20 MHz) * `5g-50-5250-160` - 50 (5250/160 MHz) * `5g-52-5260-20` - 52 (5260/20 MHz) * `5g-54-5270-40` - 54 (5270/40 MHz) * `5g-56-5280-20` - 56 (5280/20 MHz) * `5g-58-5290-80` - 58 (5290/80 MHz) * `5g-60-5300-20` - 60 (5300/20 MHz) * `5g-62-5310-40` - 62 (5310/40 MHz) * `5g-64-5320-20` - 64 (5320/20 MHz) * `5g-100-5500-20` - 100 (5500/20 MHz) * `5g-102-5510-40` - 102 (5510/40 MHz) * `5g-104-5520-20` - 104 (5520/20 MHz) * `5g-106-5530-80` - 106 (5530/80 MHz) * `5g-108-5540-20` - 108 (5540/20 MHz) * `5g-110-5550-40` - 110 (5550/40 MHz) * `5g-112-5560-20` - 112 (5560/20 MHz) * `5g-114-5570-160` - 114 (5570/160 MHz) * `5g-116-5580-20` - 116 (5580/20 MHz) * `5g-118-5590-40` - 118 (5590/40 MHz) * `5g-120-5600-20` - 120 (5600/20 MHz) * `5g-122-5610-80` - 122 (5610/80 MHz) * `5g-124-5620-20` - 124 (5620/20 MHz) * `5g-126-5630-40` - 126 (5630/40 MHz) * `5g-128-5640-20` - 128 (5640/20 MHz) * `5g-132-5660-20` - 132 (5660/20 MHz) * `5g-134-5670-40` - 134 (5670/40 MHz) * `5g-136-5680-20` - 136 (5680/20 MHz) * `5g-138-5690-80` - 138 (5690/80 MHz) * `5g-140-5700-20` - 140 (5700/20 MHz) * `5g-142-5710-40` - 142 (5710/40 MHz) * `5g-144-5720-20` - 144 (5720/20 MHz) * `5g-149-5745-20` - 149 (5745/20 MHz) * `5g-151-5755-40` - 151 (5755/40 MHz) * `5g-153-5765-20` - 153 (5765/20 MHz) * `5g-155-5775-80` - 155 (5775/80 MHz) * `5g-157-5785-20` - 157 (5785/20 MHz) * `5g-159-5795-40` - 159 (5795/40 MHz) * `5g-161-5805-20` - 161 (5805/20 MHz) * `5g-163-5815-160` - 163 (5815/160 MHz) * `5g-165-5825-20` - 165 (5825/20 MHz) * `5g-167-5835-40` - 167 (5835/40 MHz) * `5g-169-5845-20` - 169 (5845/20 MHz) * `5g-171-5855-80` - 171 (5855/80 MHz) * `5g-173-5865-20` - 173 (5865/20 MHz) * `5g-175-5875-40` - 175 (5875/40 MHz) * `5g-177-5885-20` - 177 (5885/20 MHz) * `6g-1-5955-20` - 1 (5955/20 MHz) * `6g-3-5965-40` - 3 (5965/40 MHz) * `6g-5-5975-20` - 5 (5975/20 MHz) * `6g-7-5985-80` - 7 (5985/80 MHz) * `6g-9-5995-20` - 9 (5995/20 MHz) * `6g-11-6005-40` - 11 (6005/40 MHz) * `6g-13-6015-20` - 13 (6015/20 MHz) * `6g-15-6025-160` - 15 (6025/160 MHz) * `6g-17-6035-20` - 17 (6035/20 MHz) * `6g-19-6045-40` - 19 (6045/40 MHz) * `6g-21-6055-20` - 21 (6055/20 MHz) * `6g-23-6065-80` - 23 (6065/80 MHz) * `6g-25-6075-20` - 25 (6075/20 MHz) * `6g-27-6085-40` - 27 (6085/40 MHz) * `6g-29-6095-20` - 29 (6095/20 MHz) * `6g-31-6105-320` - 31 (6105/320 MHz) * `6g-33-6115-20` - 33 (6115/20 MHz) * `6g-35-6125-40` - 35 (6125/40 MHz) * `6g-37-6135-20` - 37 (6135/20 MHz) * `6g-39-6145-80` - 39 (6145/80 MHz) * `6g-41-6155-20` - 41 (6155/20 MHz) * `6g-43-6165-40` - 43 (6165/40 MHz) * `6g-45-6175-20` - 45 (6175/20 MHz) * `6g-47-6185-160` - 47 (6185/160 MHz) * `6g-49-6195-20` - 49 (6195/20 MHz) * `6g-51-6205-40` - 51 (6205/40 MHz) * `6g-53-6215-20` - 53 (6215/20 MHz) * `6g-55-6225-80` - 55 (6225/80 MHz) * `6g-57-6235-20` - 57 (6235/20 MHz) * `6g-59-6245-40` - 59 (6245/40 MHz) * `6g-61-6255-20` - 61 (6255/20 MHz) * `6g-65-6275-20` - 65 (6275/20 MHz) * `6g-67-6285-40` - 67 (6285/40 MHz) * `6g-69-6295-20` - 69 (6295/20 MHz) * `6g-71-6305-80` - 71 (6305/80 MHz) * `6g-73-6315-20` - 73 (6315/20 MHz) * `6g-75-6325-40` - 75 (6325/40 MHz) * `6g-77-6335-20` - 77 (6335/20 MHz) * `6g-79-6345-160` - 79 (6345/160 MHz) * `6g-81-6355-20` - 81 (6355/20 MHz) * `6g-83-6365-40` - 83 (6365/40 MHz) * `6g-85-6375-20` - 85 (6375/20 MHz) * `6g-87-6385-80` - 87 (6385/80 MHz) * `6g-89-6395-20` - 89 (6395/20 MHz) * `6g-91-6405-40` - 91 (6405/40 MHz) * `6g-93-6415-20` - 93 (6415/20 MHz) * `6g-95-6425-320` - 95 (6425/320 MHz) * `6g-97-6435-20` - 97 (6435/20 MHz) * `6g-99-6445-40` - 99 (6445/40 MHz) * `6g-101-6455-20` - 101 (6455/20 MHz) * `6g-103-6465-80` - 103 (6465/80 MHz) * `6g-105-6475-20` - 105 (6475/20 MHz) * `6g-107-6485-40` - 107 (6485/40 MHz) * `6g-109-6495-20` - 109 (6495/20 MHz) * `6g-111-6505-160` - 111 (6505/160 MHz) * `6g-113-6515-20` - 113 (6515/20 MHz) * `6g-115-6525-40` - 115 (6525/40 MHz) * `6g-117-6535-20` - 117 (6535/20 MHz) * `6g-119-6545-80` - 119 (6545/80 MHz) * `6g-121-6555-20` - 121 (6555/20 MHz) * `6g-123-6565-40` - 123 (6565/40 MHz) * `6g-125-6575-20` - 125 (6575/20 MHz) * `6g-129-6595-20` - 129 (6595/20 MHz) * `6g-131-6605-40` - 131 (6605/40 MHz) * `6g-133-6615-20` - 133 (6615/20 MHz) * `6g-135-6625-80` - 135 (6625/80 MHz) * `6g-137-6635-20` - 137 (6635/20 MHz) * `6g-139-6645-40` - 139 (6645/40 MHz) * `6g-141-6655-20` - 141 (6655/20 MHz) * `6g-143-6665-160` - 143 (6665/160 MHz) * `6g-145-6675-20` - 145 (6675/20 MHz) * `6g-147-6685-40` - 147 (6685/40 MHz) * `6g-149-6695-20` - 149 (6695/20 MHz) * `6g-151-6705-80` - 151 (6705/80 MHz) * `6g-153-6715-20` - 153 (6715/20 MHz) * `6g-155-6725-40` - 155 (6725/40 MHz) * `6g-157-6735-20` - 157 (6735/20 MHz) * `6g-159-6745-320` - 159 (6745/320 MHz) * `6g-161-6755-20` - 161 (6755/20 MHz) * `6g-163-6765-40` - 163 (6765/40 MHz) * `6g-165-6775-20` - 165 (6775/20 MHz) * `6g-167-6785-80` - 167 (6785/80 MHz) * `6g-169-6795-20` - 169 (6795/20 MHz) * `6g-171-6805-40` - 171 (6805/40 MHz) * `6g-173-6815-20` - 173 (6815/20 MHz) * `6g-175-6825-160` - 175 (6825/160 MHz) * `6g-177-6835-20` - 177 (6835/20 MHz) * `6g-179-6845-40` - 179 (6845/40 MHz) * `6g-181-6855-20` - 181 (6855/20 MHz) * `6g-183-6865-80` - 183 (6865/80 MHz) * `6g-185-6875-20` - 185 (6875/20 MHz) * `6g-187-6885-40` - 187 (6885/40 MHz) * `6g-189-6895-20` - 189 (6895/20 MHz) * `6g-193-6915-20` - 193 (6915/20 MHz) * `6g-195-6925-40` - 195 (6925/40 MHz) * `6g-197-6935-20` - 197 (6935/20 MHz) * `6g-199-6945-80` - 199 (6945/80 MHz) * `6g-201-6955-20` - 201 (6955/20 MHz) * `6g-203-6965-40` - 203 (6965/40 MHz) * `6g-205-6975-20` - 205 (6975/20 MHz) * `6g-207-6985-160` - 207 (6985/160 MHz) * `6g-209-6995-20` - 209 (6995/20 MHz) * `6g-211-7005-40` - 211 (7005/40 MHz) * `6g-213-7015-20` - 213 (7015/20 MHz) * `6g-215-7025-80` - 215 (7025/80 MHz) * `6g-217-7035-20` - 217 (7035/20 MHz) * `6g-219-7045-40` - 219 (7045/40 MHz) * `6g-221-7055-20` - 221 (7055/20 MHz) * `6g-225-7075-20` - 225 (7075/20 MHz) * `6g-227-7085-40` - 227 (7085/40 MHz) * `6g-229-7095-20` - 229 (7095/20 MHz) * `6g-233-7115-20` - 233 (7115/20 MHz) * `60g-1-58320-2160` - 1 (58.32/2.16 GHz) * `60g-2-60480-2160` - 2 (60.48/2.16 GHz) * `60g-3-62640-2160` - 3 (62.64/2.16 GHz) * `60g-4-64800-2160` - 4 (64.80/2.16 GHz) * `60g-5-66960-2160` - 5 (66.96/2.16 GHz) * `60g-6-69120-2160` - 6 (69.12/2.16 GHz) * `60g-9-59400-4320` - 9 (59.40/4.32 GHz) * `60g-10-61560-4320` - 10 (61.56/4.32 GHz) * `60g-11-63720-4320` - 11 (63.72/4.32 GHz) * `60g-12-65880-4320` - 12 (65.88/4.32 GHz) * `60g-13-68040-4320` - 13 (68.04/4.32 GHz) * `60g-17-60480-6480` - 17 (60.48/6.48 GHz) * `60g-18-62640-6480` - 18 (62.64/6.48 GHz) * `60g-19-64800-6480` - 19 (64.80/6.48 GHz) * `60g-20-66960-6480` - 20 (66.96/6.48 GHz) * `60g-25-61560-6480` - 25 (61.56/8.64 GHz) * `60g-26-63720-6480` - 26 (63.72/8.64 GHz) * `60g-27-65880-6480` - 27 (65.88/8.64 GHz)
116    #[serde(
117        rename = "rf_channel",
118        default,
119        with = "::serde_with::rust::double_option",
120        skip_serializing_if = "Option::is_none"
121    )]
122    pub rf_channel: Option<Option<RfChannel>>,
123    /// * `pd` - PD * `pse` - PSE
124    #[serde(
125        rename = "poe_mode",
126        default,
127        with = "::serde_with::rust::double_option",
128        skip_serializing_if = "Option::is_none"
129    )]
130    pub poe_mode: Option<Option<PoeMode>>,
131    /// * `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)
132    #[serde(
133        rename = "poe_type",
134        default,
135        with = "::serde_with::rust::double_option",
136        skip_serializing_if = "Option::is_none"
137    )]
138    pub poe_type: Option<Option<PoeType>>,
139    /// Populated by selected channel (if set)
140    #[serde(
141        rename = "rf_channel_frequency",
142        default,
143        with = "::serde_with::rust::double_option",
144        skip_serializing_if = "Option::is_none"
145    )]
146    pub rf_channel_frequency: Option<Option<f64>>,
147    /// Populated by selected channel (if set)
148    #[serde(
149        rename = "rf_channel_width",
150        default,
151        with = "::serde_with::rust::double_option",
152        skip_serializing_if = "Option::is_none"
153    )]
154    pub rf_channel_width: Option<Option<f64>>,
155    #[serde(
156        rename = "tx_power",
157        default,
158        with = "::serde_with::rust::double_option",
159        skip_serializing_if = "Option::is_none"
160    )]
161    pub tx_power: Option<Option<i32>>,
162    #[serde(
163        rename = "untagged_vlan",
164        default,
165        with = "::serde_with::rust::double_option",
166        skip_serializing_if = "Option::is_none"
167    )]
168    pub untagged_vlan: Option<Option<Box<crate::models::BulkInterfaceRequestUntaggedVlan>>>,
169    #[serde(rename = "tagged_vlans", skip_serializing_if = "Option::is_none")]
170    pub tagged_vlans: Option<Vec<i32>>,
171    #[serde(
172        rename = "qinq_svlan",
173        default,
174        with = "::serde_with::rust::double_option",
175        skip_serializing_if = "Option::is_none"
176    )]
177    pub qinq_svlan: Option<Option<Box<crate::models::BulkInterfaceRequestUntaggedVlan>>>,
178    #[serde(
179        rename = "vlan_translation_policy",
180        default,
181        with = "::serde_with::rust::double_option",
182        skip_serializing_if = "Option::is_none"
183    )]
184    pub vlan_translation_policy:
185        Option<Option<Box<crate::models::BulkInterfaceRequestVlanTranslationPolicy>>>,
186    /// Treat as if a cable is connected
187    #[serde(rename = "mark_connected", skip_serializing_if = "Option::is_none")]
188    pub mark_connected: Option<bool>,
189    #[serde(rename = "wireless_lans", skip_serializing_if = "Option::is_none")]
190    pub wireless_lans: Option<Vec<i32>>,
191    #[serde(
192        rename = "vrf",
193        default,
194        with = "::serde_with::rust::double_option",
195        skip_serializing_if = "Option::is_none"
196    )]
197    pub vrf: Option<Option<Box<crate::models::BulkIpAddressRequestVrf>>>,
198    #[serde(
199        rename = "owner",
200        default,
201        with = "::serde_with::rust::double_option",
202        skip_serializing_if = "Option::is_none"
203    )]
204    pub owner: Option<Option<Box<crate::models::AsnRangeRequestOwner>>>,
205    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
206    pub tags: Option<Vec<crate::models::NestedTagRequest>>,
207    #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
208    pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
209}
210
211impl WritableInterfaceRequest {
212    /// Adds an `owner` field for models which have a ForeignKey to users.Owner.
213    pub fn new(
214        device: crate::models::BriefInterfaceRequestDevice,
215        name: String,
216        r#type: RHashType,
217    ) -> WritableInterfaceRequest {
218        WritableInterfaceRequest {
219            device: Box::new(device),
220            vdcs: None,
221            module: None,
222            name,
223            label: None,
224            r#type,
225            enabled: None,
226            parent: None,
227            bridge: None,
228            lag: None,
229            mtu: None,
230            primary_mac_address: None,
231            speed: None,
232            duplex: None,
233            wwn: None,
234            mgmt_only: None,
235            description: None,
236            mode: None,
237            rf_role: None,
238            rf_channel: None,
239            poe_mode: None,
240            poe_type: None,
241            rf_channel_frequency: None,
242            rf_channel_width: None,
243            tx_power: None,
244            untagged_vlan: None,
245            tagged_vlans: None,
246            qinq_svlan: None,
247            vlan_translation_policy: None,
248            mark_connected: None,
249            wireless_lans: None,
250            vrf: None,
251            owner: None,
252            tags: None,
253            custom_fields: None,
254        }
255    }
256}
257
258/// * `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
259#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
260pub enum RHashType {
261    #[serde(rename = "virtual")]
262    Virtual,
263    #[serde(rename = "bridge")]
264    Bridge,
265    #[serde(rename = "lag")]
266    Lag,
267    #[serde(rename = "100base-fx")]
268    Variant100baseFx,
269    #[serde(rename = "100base-lfx")]
270    Variant100baseLfx,
271    #[serde(rename = "100base-tx")]
272    Variant100baseTx,
273    #[serde(rename = "100base-t1")]
274    Variant100baseT1,
275    #[serde(rename = "1000base-bx10-d")]
276    Variant1000baseBx10D,
277    #[serde(rename = "1000base-bx10-u")]
278    Variant1000baseBx10U,
279    #[serde(rename = "1000base-cwdm")]
280    Variant1000baseCwdm,
281    #[serde(rename = "1000base-cx")]
282    Variant1000baseCx,
283    #[serde(rename = "1000base-dwdm")]
284    Variant1000baseDwdm,
285    #[serde(rename = "1000base-ex")]
286    Variant1000baseEx,
287    #[serde(rename = "1000base-lsx")]
288    Variant1000baseLsx,
289    #[serde(rename = "1000base-lx")]
290    Variant1000baseLx,
291    #[serde(rename = "1000base-lx10")]
292    Variant1000baseLx10,
293    #[serde(rename = "1000base-sx")]
294    Variant1000baseSx,
295    #[serde(rename = "1000base-t")]
296    Variant1000baseT,
297    #[serde(rename = "1000base-tx")]
298    Variant1000baseTx,
299    #[serde(rename = "1000base-zx")]
300    Variant1000baseZx,
301    #[serde(rename = "2.5gbase-t")]
302    Variant2Period5gbaseT,
303    #[serde(rename = "5gbase-t")]
304    Variant5gbaseT,
305    #[serde(rename = "10gbase-br-d")]
306    Variant10gbaseBrD,
307    #[serde(rename = "10gbase-br-u")]
308    Variant10gbaseBrU,
309    #[serde(rename = "10gbase-cu")]
310    Variant10gbaseCu,
311    #[serde(rename = "10gbase-cx4")]
312    Variant10gbaseCx4,
313    #[serde(rename = "10gbase-er")]
314    Variant10gbaseEr,
315    #[serde(rename = "10gbase-lr")]
316    Variant10gbaseLr,
317    #[serde(rename = "10gbase-lrm")]
318    Variant10gbaseLrm,
319    #[serde(rename = "10gbase-lx4")]
320    Variant10gbaseLx4,
321    #[serde(rename = "10gbase-sr")]
322    Variant10gbaseSr,
323    #[serde(rename = "10gbase-t")]
324    Variant10gbaseT,
325    #[serde(rename = "10gbase-zr")]
326    Variant10gbaseZr,
327    #[serde(rename = "25gbase-cr")]
328    Variant25gbaseCr,
329    #[serde(rename = "25gbase-er")]
330    Variant25gbaseEr,
331    #[serde(rename = "25gbase-lr")]
332    Variant25gbaseLr,
333    #[serde(rename = "25gbase-sr")]
334    Variant25gbaseSr,
335    #[serde(rename = "25gbase-t")]
336    Variant25gbaseT,
337    #[serde(rename = "40gbase-cr4")]
338    Variant40gbaseCr4,
339    #[serde(rename = "40gbase-er4")]
340    Variant40gbaseEr4,
341    #[serde(rename = "40gbase-fr4")]
342    Variant40gbaseFr4,
343    #[serde(rename = "40gbase-lr4")]
344    Variant40gbaseLr4,
345    #[serde(rename = "40gbase-sr4")]
346    Variant40gbaseSr4,
347    #[serde(rename = "40gbase-sr4-bd")]
348    Variant40gbaseSr4Bd,
349    #[serde(rename = "50gbase-cr")]
350    Variant50gbaseCr,
351    #[serde(rename = "50gbase-er")]
352    Variant50gbaseEr,
353    #[serde(rename = "50gbase-fr")]
354    Variant50gbaseFr,
355    #[serde(rename = "50gbase-lr")]
356    Variant50gbaseLr,
357    #[serde(rename = "50gbase-sr")]
358    Variant50gbaseSr,
359    #[serde(rename = "100gbase-cr1")]
360    Variant100gbaseCr1,
361    #[serde(rename = "100gbase-cr2")]
362    Variant100gbaseCr2,
363    #[serde(rename = "100gbase-cr4")]
364    Variant100gbaseCr4,
365    #[serde(rename = "100gbase-cr10")]
366    Variant100gbaseCr10,
367    #[serde(rename = "100gbase-cwdm4")]
368    Variant100gbaseCwdm4,
369    #[serde(rename = "100gbase-dr")]
370    Variant100gbaseDr,
371    #[serde(rename = "100gbase-er4")]
372    Variant100gbaseEr4,
373    #[serde(rename = "100gbase-fr1")]
374    Variant100gbaseFr1,
375    #[serde(rename = "100gbase-lr1")]
376    Variant100gbaseLr1,
377    #[serde(rename = "100gbase-lr4")]
378    Variant100gbaseLr4,
379    #[serde(rename = "100gbase-sr1")]
380    Variant100gbaseSr1,
381    #[serde(rename = "100gbase-sr1.2")]
382    Variant100gbaseSr1Period2,
383    #[serde(rename = "100gbase-sr2")]
384    Variant100gbaseSr2,
385    #[serde(rename = "100gbase-sr4")]
386    Variant100gbaseSr4,
387    #[serde(rename = "100gbase-sr10")]
388    Variant100gbaseSr10,
389    #[serde(rename = "100gbase-zr")]
390    Variant100gbaseZr,
391    #[serde(rename = "200gbase-cr2")]
392    Variant200gbaseCr2,
393    #[serde(rename = "200gbase-cr4")]
394    Variant200gbaseCr4,
395    #[serde(rename = "200gbase-dr4")]
396    Variant200gbaseDr4,
397    #[serde(rename = "200gbase-er4")]
398    Variant200gbaseEr4,
399    #[serde(rename = "200gbase-fr4")]
400    Variant200gbaseFr4,
401    #[serde(rename = "200gbase-lr4")]
402    Variant200gbaseLr4,
403    #[serde(rename = "200gbase-sr2")]
404    Variant200gbaseSr2,
405    #[serde(rename = "200gbase-sr4")]
406    Variant200gbaseSr4,
407    #[serde(rename = "200gbase-vr2")]
408    Variant200gbaseVr2,
409    #[serde(rename = "400gbase-cr4")]
410    Variant400gbaseCr4,
411    #[serde(rename = "400gbase-dr4")]
412    Variant400gbaseDr4,
413    #[serde(rename = "400gbase-er8")]
414    Variant400gbaseEr8,
415    #[serde(rename = "400gbase-fr4")]
416    Variant400gbaseFr4,
417    #[serde(rename = "400gbase-fr8")]
418    Variant400gbaseFr8,
419    #[serde(rename = "400gbase-lr4")]
420    Variant400gbaseLr4,
421    #[serde(rename = "400gbase-lr8")]
422    Variant400gbaseLr8,
423    #[serde(rename = "400gbase-sr4")]
424    Variant400gbaseSr4,
425    #[serde(rename = "400gbase-sr4_2")]
426    Variant400gbaseSr42,
427    #[serde(rename = "400gbase-sr8")]
428    Variant400gbaseSr8,
429    #[serde(rename = "400gbase-sr16")]
430    Variant400gbaseSr16,
431    #[serde(rename = "400gbase-vr4")]
432    Variant400gbaseVr4,
433    #[serde(rename = "400gbase-zr")]
434    Variant400gbaseZr,
435    #[serde(rename = "800gbase-cr8")]
436    Variant800gbaseCr8,
437    #[serde(rename = "800gbase-dr8")]
438    Variant800gbaseDr8,
439    #[serde(rename = "800gbase-sr8")]
440    Variant800gbaseSr8,
441    #[serde(rename = "800gbase-vr8")]
442    Variant800gbaseVr8,
443    #[serde(rename = "1.6tbase-cr8")]
444    Variant1Period6tbaseCr8,
445    #[serde(rename = "1.6tbase-dr8")]
446    Variant1Period6tbaseDr8,
447    #[serde(rename = "1.6tbase-dr8-2")]
448    Variant1Period6tbaseDr82,
449    #[serde(rename = "100base-x-sfp")]
450    Variant100baseXSfp,
451    #[serde(rename = "1000base-x-gbic")]
452    Variant1000baseXGbic,
453    #[serde(rename = "1000base-x-sfp")]
454    Variant1000baseXSfp,
455    #[serde(rename = "2.5gbase-x-sfp")]
456    Variant2Period5gbaseXSfp,
457    #[serde(rename = "10gbase-x-sfpp")]
458    Variant10gbaseXSfpp,
459    #[serde(rename = "10gbase-x-xenpak")]
460    Variant10gbaseXXenpak,
461    #[serde(rename = "10gbase-x-xfp")]
462    Variant10gbaseXXfp,
463    #[serde(rename = "10gbase-x-x2")]
464    Variant10gbaseXx2,
465    #[serde(rename = "25gbase-x-sfp28")]
466    Variant25gbaseXSfp28,
467    #[serde(rename = "40gbase-x-qsfpp")]
468    Variant40gbaseXQsfpp,
469    #[serde(rename = "50gbase-x-sfp28")]
470    Variant50gbaseXSfp28,
471    #[serde(rename = "50gbase-x-sfp56")]
472    Variant50gbaseXSfp56,
473    #[serde(rename = "100gbase-x-cfp")]
474    Variant100gbaseXCfp,
475    #[serde(rename = "100gbase-x-cfp2")]
476    Variant100gbaseXCfp2,
477    #[serde(rename = "100gbase-x-cfp4")]
478    Variant100gbaseXCfp4,
479    #[serde(rename = "100gbase-x-cxp")]
480    Variant100gbaseXCxp,
481    #[serde(rename = "100gbase-x-cpak")]
482    Variant100gbaseXCpak,
483    #[serde(rename = "100gbase-x-dsfp")]
484    Variant100gbaseXDsfp,
485    #[serde(rename = "100gbase-x-qsfp28")]
486    Variant100gbaseXQsfp28,
487    #[serde(rename = "100gbase-x-qsfpdd")]
488    Variant100gbaseXQsfpdd,
489    #[serde(rename = "100gbase-x-sfpdd")]
490    Variant100gbaseXSfpdd,
491    #[serde(rename = "200gbase-x-cfp2")]
492    Variant200gbaseXCfp2,
493    #[serde(rename = "200gbase-x-qsfp56")]
494    Variant200gbaseXQsfp56,
495    #[serde(rename = "200gbase-x-qsfpdd")]
496    Variant200gbaseXQsfpdd,
497    #[serde(rename = "400gbase-x-qsfp112")]
498    Variant400gbaseXQsfp112,
499    #[serde(rename = "400gbase-x-qsfpdd")]
500    Variant400gbaseXQsfpdd,
501    #[serde(rename = "400gbase-x-cdfp")]
502    Variant400gbaseXCdfp,
503    #[serde(rename = "400gbase-x-cfp2")]
504    Variant400gbaseXCfp2,
505    #[serde(rename = "400gbase-x-cfp8")]
506    Variant400gbaseXCfp8,
507    #[serde(rename = "400gbase-x-osfp")]
508    Variant400gbaseXOsfp,
509    #[serde(rename = "400gbase-x-osfp-rhs")]
510    Variant400gbaseXOsfpRhs,
511    #[serde(rename = "800gbase-x-osfp")]
512    Variant800gbaseXOsfp,
513    #[serde(rename = "800gbase-x-qsfpdd")]
514    Variant800gbaseXQsfpdd,
515    #[serde(rename = "1.6tbase-x-osfp1600")]
516    Variant1Period6tbaseXOsfp1600,
517    #[serde(rename = "1.6tbase-x-osfp1600-rhs")]
518    Variant1Period6tbaseXOsfp1600Rhs,
519    #[serde(rename = "1.6tbase-x-qsfpdd1600")]
520    Variant1Period6tbaseXQsfpdd1600,
521    #[serde(rename = "1000base-kx")]
522    Variant1000baseKx,
523    #[serde(rename = "2.5gbase-kx")]
524    Variant2Period5gbaseKx,
525    #[serde(rename = "5gbase-kr")]
526    Variant5gbaseKr,
527    #[serde(rename = "10gbase-kr")]
528    Variant10gbaseKr,
529    #[serde(rename = "10gbase-kx4")]
530    Variant10gbaseKx4,
531    #[serde(rename = "25gbase-kr")]
532    Variant25gbaseKr,
533    #[serde(rename = "40gbase-kr4")]
534    Variant40gbaseKr4,
535    #[serde(rename = "50gbase-kr")]
536    Variant50gbaseKr,
537    #[serde(rename = "100gbase-kp4")]
538    Variant100gbaseKp4,
539    #[serde(rename = "100gbase-kr2")]
540    Variant100gbaseKr2,
541    #[serde(rename = "100gbase-kr4")]
542    Variant100gbaseKr4,
543    #[serde(rename = "1.6tbase-kr8")]
544    Variant1Period6tbaseKr8,
545    #[serde(rename = "ieee802.11a")]
546    Ieee802Period11a,
547    #[serde(rename = "ieee802.11g")]
548    Ieee802Period11g,
549    #[serde(rename = "ieee802.11n")]
550    Ieee802Period11n,
551    #[serde(rename = "ieee802.11ac")]
552    Ieee802Period11ac,
553    #[serde(rename = "ieee802.11ad")]
554    Ieee802Period11ad,
555    #[serde(rename = "ieee802.11ax")]
556    Ieee802Period11ax,
557    #[serde(rename = "ieee802.11ay")]
558    Ieee802Period11ay,
559    #[serde(rename = "ieee802.11be")]
560    Ieee802Period11be,
561    #[serde(rename = "ieee802.15.1")]
562    Ieee802Period15Period1,
563    #[serde(rename = "ieee802.15.4")]
564    Ieee802Period15Period4,
565    #[serde(rename = "other-wireless")]
566    OtherWireless,
567    #[serde(rename = "gsm")]
568    Gsm,
569    #[serde(rename = "cdma")]
570    Cdma,
571    #[serde(rename = "lte")]
572    Lte,
573    #[serde(rename = "4g")]
574    Variant4g,
575    #[serde(rename = "5g")]
576    Variant5g,
577    #[serde(rename = "sonet-oc3")]
578    SonetOc3,
579    #[serde(rename = "sonet-oc12")]
580    SonetOc12,
581    #[serde(rename = "sonet-oc48")]
582    SonetOc48,
583    #[serde(rename = "sonet-oc192")]
584    SonetOc192,
585    #[serde(rename = "sonet-oc768")]
586    SonetOc768,
587    #[serde(rename = "sonet-oc1920")]
588    SonetOc1920,
589    #[serde(rename = "sonet-oc3840")]
590    SonetOc3840,
591    #[serde(rename = "1gfc-sfp")]
592    Variant1gfcSfp,
593    #[serde(rename = "2gfc-sfp")]
594    Variant2gfcSfp,
595    #[serde(rename = "4gfc-sfp")]
596    Variant4gfcSfp,
597    #[serde(rename = "8gfc-sfpp")]
598    Variant8gfcSfpp,
599    #[serde(rename = "16gfc-sfpp")]
600    Variant16gfcSfpp,
601    #[serde(rename = "32gfc-sfp28")]
602    Variant32gfcSfp28,
603    #[serde(rename = "32gfc-sfpp")]
604    Variant32gfcSfpp,
605    #[serde(rename = "64gfc-qsfpp")]
606    Variant64gfcQsfpp,
607    #[serde(rename = "64gfc-sfpdd")]
608    Variant64gfcSfpdd,
609    #[serde(rename = "64gfc-sfpp")]
610    Variant64gfcSfpp,
611    #[serde(rename = "128gfc-qsfp28")]
612    Variant128gfcQsfp28,
613    #[serde(rename = "infiniband-sdr")]
614    InfinibandSdr,
615    #[serde(rename = "infiniband-ddr")]
616    InfinibandDdr,
617    #[serde(rename = "infiniband-qdr")]
618    InfinibandQdr,
619    #[serde(rename = "infiniband-fdr10")]
620    InfinibandFdr10,
621    #[serde(rename = "infiniband-fdr")]
622    InfinibandFdr,
623    #[serde(rename = "infiniband-edr")]
624    InfinibandEdr,
625    #[serde(rename = "infiniband-hdr")]
626    InfinibandHdr,
627    #[serde(rename = "infiniband-ndr")]
628    InfinibandNdr,
629    #[serde(rename = "infiniband-xdr")]
630    InfinibandXdr,
631    #[serde(rename = "t1")]
632    T1,
633    #[serde(rename = "e1")]
634    E1,
635    #[serde(rename = "t3")]
636    T3,
637    #[serde(rename = "e3")]
638    E3,
639    #[serde(rename = "xdsl")]
640    Xdsl,
641    #[serde(rename = "docsis")]
642    Docsis,
643    #[serde(rename = "moca")]
644    Moca,
645    #[serde(rename = "bpon")]
646    Bpon,
647    #[serde(rename = "epon")]
648    Epon,
649    #[serde(rename = "10g-epon")]
650    Variant10gEpon,
651    #[serde(rename = "gpon")]
652    Gpon,
653    #[serde(rename = "xg-pon")]
654    XgPon,
655    #[serde(rename = "xgs-pon")]
656    XgsPon,
657    #[serde(rename = "ng-pon2")]
658    NgPon2,
659    #[serde(rename = "25g-pon")]
660    Variant25gPon,
661    #[serde(rename = "50g-pon")]
662    Variant50gPon,
663    #[serde(rename = "cisco-stackwise")]
664    CiscoStackwise,
665    #[serde(rename = "cisco-stackwise-plus")]
666    CiscoStackwisePlus,
667    #[serde(rename = "cisco-flexstack")]
668    CiscoFlexstack,
669    #[serde(rename = "cisco-flexstack-plus")]
670    CiscoFlexstackPlus,
671    #[serde(rename = "cisco-stackwise-80")]
672    CiscoStackwise80,
673    #[serde(rename = "cisco-stackwise-160")]
674    CiscoStackwise160,
675    #[serde(rename = "cisco-stackwise-320")]
676    CiscoStackwise320,
677    #[serde(rename = "cisco-stackwise-480")]
678    CiscoStackwise480,
679    #[serde(rename = "cisco-stackwise-1t")]
680    CiscoStackwise1t,
681    #[serde(rename = "juniper-vcp")]
682    JuniperVcp,
683    #[serde(rename = "extreme-summitstack")]
684    ExtremeSummitstack,
685    #[serde(rename = "extreme-summitstack-128")]
686    ExtremeSummitstack128,
687    #[serde(rename = "extreme-summitstack-256")]
688    ExtremeSummitstack256,
689    #[serde(rename = "extreme-summitstack-512")]
690    ExtremeSummitstack512,
691    #[serde(rename = "other")]
692    Other,
693}
694
695impl Default for RHashType {
696    fn default() -> RHashType {
697        Self::Virtual
698    }
699}
700/// * `half` - Half * `full` - Full * `auto` - Auto
701#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
702pub enum Duplex {
703    #[serde(rename = "half")]
704    Half,
705    #[serde(rename = "full")]
706    Full,
707    #[serde(rename = "auto")]
708    Auto,
709    #[serde(rename = "")]
710    Empty,
711    #[serde(rename = "null")]
712    Null,
713}
714
715impl Default for Duplex {
716    fn default() -> Duplex {
717        Self::Half
718    }
719}
720/// IEEE 802.1Q tagging strategy  * `access` - Access * `tagged` - Tagged * `tagged-all` - Tagged (All) * `q-in-q` - Q-in-Q (802.1ad)
721#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
722pub enum Mode {
723    #[serde(rename = "access")]
724    Access,
725    #[serde(rename = "tagged")]
726    Tagged,
727    #[serde(rename = "tagged-all")]
728    TaggedAll,
729    #[serde(rename = "q-in-q")]
730    QInQ,
731    #[serde(rename = "")]
732    Empty,
733    #[serde(rename = "null")]
734    Null,
735}
736
737impl Default for Mode {
738    fn default() -> Mode {
739        Self::Access
740    }
741}
742/// * `ap` - Access point * `station` - Station
743#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
744pub enum RfRole {
745    #[serde(rename = "ap")]
746    Ap,
747    #[serde(rename = "station")]
748    Station,
749    #[serde(rename = "")]
750    Empty,
751    #[serde(rename = "null")]
752    Null,
753}
754
755impl Default for RfRole {
756    fn default() -> RfRole {
757        Self::Ap
758    }
759}
760/// * `2.4g-1-2412-22` - 1 (2412 MHz) * `2.4g-2-2417-22` - 2 (2417 MHz) * `2.4g-3-2422-22` - 3 (2422 MHz) * `2.4g-4-2427-22` - 4 (2427 MHz) * `2.4g-5-2432-22` - 5 (2432 MHz) * `2.4g-6-2437-22` - 6 (2437 MHz) * `2.4g-7-2442-22` - 7 (2442 MHz) * `2.4g-8-2447-22` - 8 (2447 MHz) * `2.4g-9-2452-22` - 9 (2452 MHz) * `2.4g-10-2457-22` - 10 (2457 MHz) * `2.4g-11-2462-22` - 11 (2462 MHz) * `2.4g-12-2467-22` - 12 (2467 MHz) * `2.4g-13-2472-22` - 13 (2472 MHz) * `5g-32-5160-20` - 32 (5160/20 MHz) * `5g-34-5170-40` - 34 (5170/40 MHz) * `5g-36-5180-20` - 36 (5180/20 MHz) * `5g-38-5190-40` - 38 (5190/40 MHz) * `5g-40-5200-20` - 40 (5200/20 MHz) * `5g-42-5210-80` - 42 (5210/80 MHz) * `5g-44-5220-20` - 44 (5220/20 MHz) * `5g-46-5230-40` - 46 (5230/40 MHz) * `5g-48-5240-20` - 48 (5240/20 MHz) * `5g-50-5250-160` - 50 (5250/160 MHz) * `5g-52-5260-20` - 52 (5260/20 MHz) * `5g-54-5270-40` - 54 (5270/40 MHz) * `5g-56-5280-20` - 56 (5280/20 MHz) * `5g-58-5290-80` - 58 (5290/80 MHz) * `5g-60-5300-20` - 60 (5300/20 MHz) * `5g-62-5310-40` - 62 (5310/40 MHz) * `5g-64-5320-20` - 64 (5320/20 MHz) * `5g-100-5500-20` - 100 (5500/20 MHz) * `5g-102-5510-40` - 102 (5510/40 MHz) * `5g-104-5520-20` - 104 (5520/20 MHz) * `5g-106-5530-80` - 106 (5530/80 MHz) * `5g-108-5540-20` - 108 (5540/20 MHz) * `5g-110-5550-40` - 110 (5550/40 MHz) * `5g-112-5560-20` - 112 (5560/20 MHz) * `5g-114-5570-160` - 114 (5570/160 MHz) * `5g-116-5580-20` - 116 (5580/20 MHz) * `5g-118-5590-40` - 118 (5590/40 MHz) * `5g-120-5600-20` - 120 (5600/20 MHz) * `5g-122-5610-80` - 122 (5610/80 MHz) * `5g-124-5620-20` - 124 (5620/20 MHz) * `5g-126-5630-40` - 126 (5630/40 MHz) * `5g-128-5640-20` - 128 (5640/20 MHz) * `5g-132-5660-20` - 132 (5660/20 MHz) * `5g-134-5670-40` - 134 (5670/40 MHz) * `5g-136-5680-20` - 136 (5680/20 MHz) * `5g-138-5690-80` - 138 (5690/80 MHz) * `5g-140-5700-20` - 140 (5700/20 MHz) * `5g-142-5710-40` - 142 (5710/40 MHz) * `5g-144-5720-20` - 144 (5720/20 MHz) * `5g-149-5745-20` - 149 (5745/20 MHz) * `5g-151-5755-40` - 151 (5755/40 MHz) * `5g-153-5765-20` - 153 (5765/20 MHz) * `5g-155-5775-80` - 155 (5775/80 MHz) * `5g-157-5785-20` - 157 (5785/20 MHz) * `5g-159-5795-40` - 159 (5795/40 MHz) * `5g-161-5805-20` - 161 (5805/20 MHz) * `5g-163-5815-160` - 163 (5815/160 MHz) * `5g-165-5825-20` - 165 (5825/20 MHz) * `5g-167-5835-40` - 167 (5835/40 MHz) * `5g-169-5845-20` - 169 (5845/20 MHz) * `5g-171-5855-80` - 171 (5855/80 MHz) * `5g-173-5865-20` - 173 (5865/20 MHz) * `5g-175-5875-40` - 175 (5875/40 MHz) * `5g-177-5885-20` - 177 (5885/20 MHz) * `6g-1-5955-20` - 1 (5955/20 MHz) * `6g-3-5965-40` - 3 (5965/40 MHz) * `6g-5-5975-20` - 5 (5975/20 MHz) * `6g-7-5985-80` - 7 (5985/80 MHz) * `6g-9-5995-20` - 9 (5995/20 MHz) * `6g-11-6005-40` - 11 (6005/40 MHz) * `6g-13-6015-20` - 13 (6015/20 MHz) * `6g-15-6025-160` - 15 (6025/160 MHz) * `6g-17-6035-20` - 17 (6035/20 MHz) * `6g-19-6045-40` - 19 (6045/40 MHz) * `6g-21-6055-20` - 21 (6055/20 MHz) * `6g-23-6065-80` - 23 (6065/80 MHz) * `6g-25-6075-20` - 25 (6075/20 MHz) * `6g-27-6085-40` - 27 (6085/40 MHz) * `6g-29-6095-20` - 29 (6095/20 MHz) * `6g-31-6105-320` - 31 (6105/320 MHz) * `6g-33-6115-20` - 33 (6115/20 MHz) * `6g-35-6125-40` - 35 (6125/40 MHz) * `6g-37-6135-20` - 37 (6135/20 MHz) * `6g-39-6145-80` - 39 (6145/80 MHz) * `6g-41-6155-20` - 41 (6155/20 MHz) * `6g-43-6165-40` - 43 (6165/40 MHz) * `6g-45-6175-20` - 45 (6175/20 MHz) * `6g-47-6185-160` - 47 (6185/160 MHz) * `6g-49-6195-20` - 49 (6195/20 MHz) * `6g-51-6205-40` - 51 (6205/40 MHz) * `6g-53-6215-20` - 53 (6215/20 MHz) * `6g-55-6225-80` - 55 (6225/80 MHz) * `6g-57-6235-20` - 57 (6235/20 MHz) * `6g-59-6245-40` - 59 (6245/40 MHz) * `6g-61-6255-20` - 61 (6255/20 MHz) * `6g-65-6275-20` - 65 (6275/20 MHz) * `6g-67-6285-40` - 67 (6285/40 MHz) * `6g-69-6295-20` - 69 (6295/20 MHz) * `6g-71-6305-80` - 71 (6305/80 MHz) * `6g-73-6315-20` - 73 (6315/20 MHz) * `6g-75-6325-40` - 75 (6325/40 MHz) * `6g-77-6335-20` - 77 (6335/20 MHz) * `6g-79-6345-160` - 79 (6345/160 MHz) * `6g-81-6355-20` - 81 (6355/20 MHz) * `6g-83-6365-40` - 83 (6365/40 MHz) * `6g-85-6375-20` - 85 (6375/20 MHz) * `6g-87-6385-80` - 87 (6385/80 MHz) * `6g-89-6395-20` - 89 (6395/20 MHz) * `6g-91-6405-40` - 91 (6405/40 MHz) * `6g-93-6415-20` - 93 (6415/20 MHz) * `6g-95-6425-320` - 95 (6425/320 MHz) * `6g-97-6435-20` - 97 (6435/20 MHz) * `6g-99-6445-40` - 99 (6445/40 MHz) * `6g-101-6455-20` - 101 (6455/20 MHz) * `6g-103-6465-80` - 103 (6465/80 MHz) * `6g-105-6475-20` - 105 (6475/20 MHz) * `6g-107-6485-40` - 107 (6485/40 MHz) * `6g-109-6495-20` - 109 (6495/20 MHz) * `6g-111-6505-160` - 111 (6505/160 MHz) * `6g-113-6515-20` - 113 (6515/20 MHz) * `6g-115-6525-40` - 115 (6525/40 MHz) * `6g-117-6535-20` - 117 (6535/20 MHz) * `6g-119-6545-80` - 119 (6545/80 MHz) * `6g-121-6555-20` - 121 (6555/20 MHz) * `6g-123-6565-40` - 123 (6565/40 MHz) * `6g-125-6575-20` - 125 (6575/20 MHz) * `6g-129-6595-20` - 129 (6595/20 MHz) * `6g-131-6605-40` - 131 (6605/40 MHz) * `6g-133-6615-20` - 133 (6615/20 MHz) * `6g-135-6625-80` - 135 (6625/80 MHz) * `6g-137-6635-20` - 137 (6635/20 MHz) * `6g-139-6645-40` - 139 (6645/40 MHz) * `6g-141-6655-20` - 141 (6655/20 MHz) * `6g-143-6665-160` - 143 (6665/160 MHz) * `6g-145-6675-20` - 145 (6675/20 MHz) * `6g-147-6685-40` - 147 (6685/40 MHz) * `6g-149-6695-20` - 149 (6695/20 MHz) * `6g-151-6705-80` - 151 (6705/80 MHz) * `6g-153-6715-20` - 153 (6715/20 MHz) * `6g-155-6725-40` - 155 (6725/40 MHz) * `6g-157-6735-20` - 157 (6735/20 MHz) * `6g-159-6745-320` - 159 (6745/320 MHz) * `6g-161-6755-20` - 161 (6755/20 MHz) * `6g-163-6765-40` - 163 (6765/40 MHz) * `6g-165-6775-20` - 165 (6775/20 MHz) * `6g-167-6785-80` - 167 (6785/80 MHz) * `6g-169-6795-20` - 169 (6795/20 MHz) * `6g-171-6805-40` - 171 (6805/40 MHz) * `6g-173-6815-20` - 173 (6815/20 MHz) * `6g-175-6825-160` - 175 (6825/160 MHz) * `6g-177-6835-20` - 177 (6835/20 MHz) * `6g-179-6845-40` - 179 (6845/40 MHz) * `6g-181-6855-20` - 181 (6855/20 MHz) * `6g-183-6865-80` - 183 (6865/80 MHz) * `6g-185-6875-20` - 185 (6875/20 MHz) * `6g-187-6885-40` - 187 (6885/40 MHz) * `6g-189-6895-20` - 189 (6895/20 MHz) * `6g-193-6915-20` - 193 (6915/20 MHz) * `6g-195-6925-40` - 195 (6925/40 MHz) * `6g-197-6935-20` - 197 (6935/20 MHz) * `6g-199-6945-80` - 199 (6945/80 MHz) * `6g-201-6955-20` - 201 (6955/20 MHz) * `6g-203-6965-40` - 203 (6965/40 MHz) * `6g-205-6975-20` - 205 (6975/20 MHz) * `6g-207-6985-160` - 207 (6985/160 MHz) * `6g-209-6995-20` - 209 (6995/20 MHz) * `6g-211-7005-40` - 211 (7005/40 MHz) * `6g-213-7015-20` - 213 (7015/20 MHz) * `6g-215-7025-80` - 215 (7025/80 MHz) * `6g-217-7035-20` - 217 (7035/20 MHz) * `6g-219-7045-40` - 219 (7045/40 MHz) * `6g-221-7055-20` - 221 (7055/20 MHz) * `6g-225-7075-20` - 225 (7075/20 MHz) * `6g-227-7085-40` - 227 (7085/40 MHz) * `6g-229-7095-20` - 229 (7095/20 MHz) * `6g-233-7115-20` - 233 (7115/20 MHz) * `60g-1-58320-2160` - 1 (58.32/2.16 GHz) * `60g-2-60480-2160` - 2 (60.48/2.16 GHz) * `60g-3-62640-2160` - 3 (62.64/2.16 GHz) * `60g-4-64800-2160` - 4 (64.80/2.16 GHz) * `60g-5-66960-2160` - 5 (66.96/2.16 GHz) * `60g-6-69120-2160` - 6 (69.12/2.16 GHz) * `60g-9-59400-4320` - 9 (59.40/4.32 GHz) * `60g-10-61560-4320` - 10 (61.56/4.32 GHz) * `60g-11-63720-4320` - 11 (63.72/4.32 GHz) * `60g-12-65880-4320` - 12 (65.88/4.32 GHz) * `60g-13-68040-4320` - 13 (68.04/4.32 GHz) * `60g-17-60480-6480` - 17 (60.48/6.48 GHz) * `60g-18-62640-6480` - 18 (62.64/6.48 GHz) * `60g-19-64800-6480` - 19 (64.80/6.48 GHz) * `60g-20-66960-6480` - 20 (66.96/6.48 GHz) * `60g-25-61560-6480` - 25 (61.56/8.64 GHz) * `60g-26-63720-6480` - 26 (63.72/8.64 GHz) * `60g-27-65880-6480` - 27 (65.88/8.64 GHz)
761#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
762pub enum RfChannel {
763    #[serde(rename = "2.4g-1-2412-22")]
764    Variant2Period4g1241222,
765    #[serde(rename = "2.4g-2-2417-22")]
766    Variant2Period4g2241722,
767    #[serde(rename = "2.4g-3-2422-22")]
768    Variant2Period4g3242222,
769    #[serde(rename = "2.4g-4-2427-22")]
770    Variant2Period4g4242722,
771    #[serde(rename = "2.4g-5-2432-22")]
772    Variant2Period4g5243222,
773    #[serde(rename = "2.4g-6-2437-22")]
774    Variant2Period4g6243722,
775    #[serde(rename = "2.4g-7-2442-22")]
776    Variant2Period4g7244222,
777    #[serde(rename = "2.4g-8-2447-22")]
778    Variant2Period4g8244722,
779    #[serde(rename = "2.4g-9-2452-22")]
780    Variant2Period4g9245222,
781    #[serde(rename = "2.4g-10-2457-22")]
782    Variant2Period4g10245722,
783    #[serde(rename = "2.4g-11-2462-22")]
784    Variant2Period4g11246222,
785    #[serde(rename = "2.4g-12-2467-22")]
786    Variant2Period4g12246722,
787    #[serde(rename = "2.4g-13-2472-22")]
788    Variant2Period4g13247222,
789    #[serde(rename = "5g-32-5160-20")]
790    Variant5g32516020,
791    #[serde(rename = "5g-34-5170-40")]
792    Variant5g34517040,
793    #[serde(rename = "5g-36-5180-20")]
794    Variant5g36518020,
795    #[serde(rename = "5g-38-5190-40")]
796    Variant5g38519040,
797    #[serde(rename = "5g-40-5200-20")]
798    Variant5g40520020,
799    #[serde(rename = "5g-42-5210-80")]
800    Variant5g42521080,
801    #[serde(rename = "5g-44-5220-20")]
802    Variant5g44522020,
803    #[serde(rename = "5g-46-5230-40")]
804    Variant5g46523040,
805    #[serde(rename = "5g-48-5240-20")]
806    Variant5g48524020,
807    #[serde(rename = "5g-50-5250-160")]
808    Variant5g505250160,
809    #[serde(rename = "5g-52-5260-20")]
810    Variant5g52526020,
811    #[serde(rename = "5g-54-5270-40")]
812    Variant5g54527040,
813    #[serde(rename = "5g-56-5280-20")]
814    Variant5g56528020,
815    #[serde(rename = "5g-58-5290-80")]
816    Variant5g58529080,
817    #[serde(rename = "5g-60-5300-20")]
818    Variant5g60530020,
819    #[serde(rename = "5g-62-5310-40")]
820    Variant5g62531040,
821    #[serde(rename = "5g-64-5320-20")]
822    Variant5g64532020,
823    #[serde(rename = "5g-100-5500-20")]
824    Variant5g100550020,
825    #[serde(rename = "5g-102-5510-40")]
826    Variant5g102551040,
827    #[serde(rename = "5g-104-5520-20")]
828    Variant5g104552020,
829    #[serde(rename = "5g-106-5530-80")]
830    Variant5g106553080,
831    #[serde(rename = "5g-108-5540-20")]
832    Variant5g108554020,
833    #[serde(rename = "5g-110-5550-40")]
834    Variant5g110555040,
835    #[serde(rename = "5g-112-5560-20")]
836    Variant5g112556020,
837    #[serde(rename = "5g-114-5570-160")]
838    Variant5g1145570160,
839    #[serde(rename = "5g-116-5580-20")]
840    Variant5g116558020,
841    #[serde(rename = "5g-118-5590-40")]
842    Variant5g118559040,
843    #[serde(rename = "5g-120-5600-20")]
844    Variant5g120560020,
845    #[serde(rename = "5g-122-5610-80")]
846    Variant5g122561080,
847    #[serde(rename = "5g-124-5620-20")]
848    Variant5g124562020,
849    #[serde(rename = "5g-126-5630-40")]
850    Variant5g126563040,
851    #[serde(rename = "5g-128-5640-20")]
852    Variant5g128564020,
853    #[serde(rename = "5g-132-5660-20")]
854    Variant5g132566020,
855    #[serde(rename = "5g-134-5670-40")]
856    Variant5g134567040,
857    #[serde(rename = "5g-136-5680-20")]
858    Variant5g136568020,
859    #[serde(rename = "5g-138-5690-80")]
860    Variant5g138569080,
861    #[serde(rename = "5g-140-5700-20")]
862    Variant5g140570020,
863    #[serde(rename = "5g-142-5710-40")]
864    Variant5g142571040,
865    #[serde(rename = "5g-144-5720-20")]
866    Variant5g144572020,
867    #[serde(rename = "5g-149-5745-20")]
868    Variant5g149574520,
869    #[serde(rename = "5g-151-5755-40")]
870    Variant5g151575540,
871    #[serde(rename = "5g-153-5765-20")]
872    Variant5g153576520,
873    #[serde(rename = "5g-155-5775-80")]
874    Variant5g155577580,
875    #[serde(rename = "5g-157-5785-20")]
876    Variant5g157578520,
877    #[serde(rename = "5g-159-5795-40")]
878    Variant5g159579540,
879    #[serde(rename = "5g-161-5805-20")]
880    Variant5g161580520,
881    #[serde(rename = "5g-163-5815-160")]
882    Variant5g1635815160,
883    #[serde(rename = "5g-165-5825-20")]
884    Variant5g165582520,
885    #[serde(rename = "5g-167-5835-40")]
886    Variant5g167583540,
887    #[serde(rename = "5g-169-5845-20")]
888    Variant5g169584520,
889    #[serde(rename = "5g-171-5855-80")]
890    Variant5g171585580,
891    #[serde(rename = "5g-173-5865-20")]
892    Variant5g173586520,
893    #[serde(rename = "5g-175-5875-40")]
894    Variant5g175587540,
895    #[serde(rename = "5g-177-5885-20")]
896    Variant5g177588520,
897    #[serde(rename = "6g-1-5955-20")]
898    Variant6g1595520,
899    #[serde(rename = "6g-3-5965-40")]
900    Variant6g3596540,
901    #[serde(rename = "6g-5-5975-20")]
902    Variant6g5597520,
903    #[serde(rename = "6g-7-5985-80")]
904    Variant6g7598580,
905    #[serde(rename = "6g-9-5995-20")]
906    Variant6g9599520,
907    #[serde(rename = "6g-11-6005-40")]
908    Variant6g11600540,
909    #[serde(rename = "6g-13-6015-20")]
910    Variant6g13601520,
911    #[serde(rename = "6g-15-6025-160")]
912    Variant6g156025160,
913    #[serde(rename = "6g-17-6035-20")]
914    Variant6g17603520,
915    #[serde(rename = "6g-19-6045-40")]
916    Variant6g19604540,
917    #[serde(rename = "6g-21-6055-20")]
918    Variant6g21605520,
919    #[serde(rename = "6g-23-6065-80")]
920    Variant6g23606580,
921    #[serde(rename = "6g-25-6075-20")]
922    Variant6g25607520,
923    #[serde(rename = "6g-27-6085-40")]
924    Variant6g27608540,
925    #[serde(rename = "6g-29-6095-20")]
926    Variant6g29609520,
927    #[serde(rename = "6g-31-6105-320")]
928    Variant6g316105320,
929    #[serde(rename = "6g-33-6115-20")]
930    Variant6g33611520,
931    #[serde(rename = "6g-35-6125-40")]
932    Variant6g35612540,
933    #[serde(rename = "6g-37-6135-20")]
934    Variant6g37613520,
935    #[serde(rename = "6g-39-6145-80")]
936    Variant6g39614580,
937    #[serde(rename = "6g-41-6155-20")]
938    Variant6g41615520,
939    #[serde(rename = "6g-43-6165-40")]
940    Variant6g43616540,
941    #[serde(rename = "6g-45-6175-20")]
942    Variant6g45617520,
943    #[serde(rename = "6g-47-6185-160")]
944    Variant6g476185160,
945    #[serde(rename = "6g-49-6195-20")]
946    Variant6g49619520,
947    #[serde(rename = "6g-51-6205-40")]
948    Variant6g51620540,
949    #[serde(rename = "6g-53-6215-20")]
950    Variant6g53621520,
951    #[serde(rename = "6g-55-6225-80")]
952    Variant6g55622580,
953    #[serde(rename = "6g-57-6235-20")]
954    Variant6g57623520,
955    #[serde(rename = "6g-59-6245-40")]
956    Variant6g59624540,
957    #[serde(rename = "6g-61-6255-20")]
958    Variant6g61625520,
959    #[serde(rename = "6g-65-6275-20")]
960    Variant6g65627520,
961    #[serde(rename = "6g-67-6285-40")]
962    Variant6g67628540,
963    #[serde(rename = "6g-69-6295-20")]
964    Variant6g69629520,
965    #[serde(rename = "6g-71-6305-80")]
966    Variant6g71630580,
967    #[serde(rename = "6g-73-6315-20")]
968    Variant6g73631520,
969    #[serde(rename = "6g-75-6325-40")]
970    Variant6g75632540,
971    #[serde(rename = "6g-77-6335-20")]
972    Variant6g77633520,
973    #[serde(rename = "6g-79-6345-160")]
974    Variant6g796345160,
975    #[serde(rename = "6g-81-6355-20")]
976    Variant6g81635520,
977    #[serde(rename = "6g-83-6365-40")]
978    Variant6g83636540,
979    #[serde(rename = "6g-85-6375-20")]
980    Variant6g85637520,
981    #[serde(rename = "6g-87-6385-80")]
982    Variant6g87638580,
983    #[serde(rename = "6g-89-6395-20")]
984    Variant6g89639520,
985    #[serde(rename = "6g-91-6405-40")]
986    Variant6g91640540,
987    #[serde(rename = "6g-93-6415-20")]
988    Variant6g93641520,
989    #[serde(rename = "6g-95-6425-320")]
990    Variant6g956425320,
991    #[serde(rename = "6g-97-6435-20")]
992    Variant6g97643520,
993    #[serde(rename = "6g-99-6445-40")]
994    Variant6g99644540,
995    #[serde(rename = "6g-101-6455-20")]
996    Variant6g101645520,
997    #[serde(rename = "6g-103-6465-80")]
998    Variant6g103646580,
999    #[serde(rename = "6g-105-6475-20")]
1000    Variant6g105647520,
1001    #[serde(rename = "6g-107-6485-40")]
1002    Variant6g107648540,
1003    #[serde(rename = "6g-109-6495-20")]
1004    Variant6g109649520,
1005    #[serde(rename = "6g-111-6505-160")]
1006    Variant6g1116505160,
1007    #[serde(rename = "6g-113-6515-20")]
1008    Variant6g113651520,
1009    #[serde(rename = "6g-115-6525-40")]
1010    Variant6g115652540,
1011    #[serde(rename = "6g-117-6535-20")]
1012    Variant6g117653520,
1013    #[serde(rename = "6g-119-6545-80")]
1014    Variant6g119654580,
1015    #[serde(rename = "6g-121-6555-20")]
1016    Variant6g121655520,
1017    #[serde(rename = "6g-123-6565-40")]
1018    Variant6g123656540,
1019    #[serde(rename = "6g-125-6575-20")]
1020    Variant6g125657520,
1021    #[serde(rename = "6g-129-6595-20")]
1022    Variant6g129659520,
1023    #[serde(rename = "6g-131-6605-40")]
1024    Variant6g131660540,
1025    #[serde(rename = "6g-133-6615-20")]
1026    Variant6g133661520,
1027    #[serde(rename = "6g-135-6625-80")]
1028    Variant6g135662580,
1029    #[serde(rename = "6g-137-6635-20")]
1030    Variant6g137663520,
1031    #[serde(rename = "6g-139-6645-40")]
1032    Variant6g139664540,
1033    #[serde(rename = "6g-141-6655-20")]
1034    Variant6g141665520,
1035    #[serde(rename = "6g-143-6665-160")]
1036    Variant6g1436665160,
1037    #[serde(rename = "6g-145-6675-20")]
1038    Variant6g145667520,
1039    #[serde(rename = "6g-147-6685-40")]
1040    Variant6g147668540,
1041    #[serde(rename = "6g-149-6695-20")]
1042    Variant6g149669520,
1043    #[serde(rename = "6g-151-6705-80")]
1044    Variant6g151670580,
1045    #[serde(rename = "6g-153-6715-20")]
1046    Variant6g153671520,
1047    #[serde(rename = "6g-155-6725-40")]
1048    Variant6g155672540,
1049    #[serde(rename = "6g-157-6735-20")]
1050    Variant6g157673520,
1051    #[serde(rename = "6g-159-6745-320")]
1052    Variant6g1596745320,
1053    #[serde(rename = "6g-161-6755-20")]
1054    Variant6g161675520,
1055    #[serde(rename = "6g-163-6765-40")]
1056    Variant6g163676540,
1057    #[serde(rename = "6g-165-6775-20")]
1058    Variant6g165677520,
1059    #[serde(rename = "6g-167-6785-80")]
1060    Variant6g167678580,
1061    #[serde(rename = "6g-169-6795-20")]
1062    Variant6g169679520,
1063    #[serde(rename = "6g-171-6805-40")]
1064    Variant6g171680540,
1065    #[serde(rename = "6g-173-6815-20")]
1066    Variant6g173681520,
1067    #[serde(rename = "6g-175-6825-160")]
1068    Variant6g1756825160,
1069    #[serde(rename = "6g-177-6835-20")]
1070    Variant6g177683520,
1071    #[serde(rename = "6g-179-6845-40")]
1072    Variant6g179684540,
1073    #[serde(rename = "6g-181-6855-20")]
1074    Variant6g181685520,
1075    #[serde(rename = "6g-183-6865-80")]
1076    Variant6g183686580,
1077    #[serde(rename = "6g-185-6875-20")]
1078    Variant6g185687520,
1079    #[serde(rename = "6g-187-6885-40")]
1080    Variant6g187688540,
1081    #[serde(rename = "6g-189-6895-20")]
1082    Variant6g189689520,
1083    #[serde(rename = "6g-193-6915-20")]
1084    Variant6g193691520,
1085    #[serde(rename = "6g-195-6925-40")]
1086    Variant6g195692540,
1087    #[serde(rename = "6g-197-6935-20")]
1088    Variant6g197693520,
1089    #[serde(rename = "6g-199-6945-80")]
1090    Variant6g199694580,
1091    #[serde(rename = "6g-201-6955-20")]
1092    Variant6g201695520,
1093    #[serde(rename = "6g-203-6965-40")]
1094    Variant6g203696540,
1095    #[serde(rename = "6g-205-6975-20")]
1096    Variant6g205697520,
1097    #[serde(rename = "6g-207-6985-160")]
1098    Variant6g2076985160,
1099    #[serde(rename = "6g-209-6995-20")]
1100    Variant6g209699520,
1101    #[serde(rename = "6g-211-7005-40")]
1102    Variant6g211700540,
1103    #[serde(rename = "6g-213-7015-20")]
1104    Variant6g213701520,
1105    #[serde(rename = "6g-215-7025-80")]
1106    Variant6g215702580,
1107    #[serde(rename = "6g-217-7035-20")]
1108    Variant6g217703520,
1109    #[serde(rename = "6g-219-7045-40")]
1110    Variant6g219704540,
1111    #[serde(rename = "6g-221-7055-20")]
1112    Variant6g221705520,
1113    #[serde(rename = "6g-225-7075-20")]
1114    Variant6g225707520,
1115    #[serde(rename = "6g-227-7085-40")]
1116    Variant6g227708540,
1117    #[serde(rename = "6g-229-7095-20")]
1118    Variant6g229709520,
1119    #[serde(rename = "6g-233-7115-20")]
1120    Variant6g233711520,
1121    #[serde(rename = "60g-1-58320-2160")]
1122    Variant60g1583202160,
1123    #[serde(rename = "60g-2-60480-2160")]
1124    Variant60g2604802160,
1125    #[serde(rename = "60g-3-62640-2160")]
1126    Variant60g3626402160,
1127    #[serde(rename = "60g-4-64800-2160")]
1128    Variant60g4648002160,
1129    #[serde(rename = "60g-5-66960-2160")]
1130    Variant60g5669602160,
1131    #[serde(rename = "60g-6-69120-2160")]
1132    Variant60g6691202160,
1133    #[serde(rename = "60g-9-59400-4320")]
1134    Variant60g9594004320,
1135    #[serde(rename = "60g-10-61560-4320")]
1136    Variant60g10615604320,
1137    #[serde(rename = "60g-11-63720-4320")]
1138    Variant60g11637204320,
1139    #[serde(rename = "60g-12-65880-4320")]
1140    Variant60g12658804320,
1141    #[serde(rename = "60g-13-68040-4320")]
1142    Variant60g13680404320,
1143    #[serde(rename = "60g-17-60480-6480")]
1144    Variant60g17604806480,
1145    #[serde(rename = "60g-18-62640-6480")]
1146    Variant60g18626406480,
1147    #[serde(rename = "60g-19-64800-6480")]
1148    Variant60g19648006480,
1149    #[serde(rename = "60g-20-66960-6480")]
1150    Variant60g20669606480,
1151    #[serde(rename = "60g-25-61560-6480")]
1152    Variant60g25615606480,
1153    #[serde(rename = "60g-26-63720-6480")]
1154    Variant60g26637206480,
1155    #[serde(rename = "60g-27-65880-6480")]
1156    Variant60g27658806480,
1157    #[serde(rename = "")]
1158    Empty,
1159    #[serde(rename = "null")]
1160    Null,
1161}
1162
1163impl Default for RfChannel {
1164    fn default() -> RfChannel {
1165        Self::Variant2Period4g1241222
1166    }
1167}
1168/// * `pd` - PD * `pse` - PSE
1169#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1170pub enum PoeMode {
1171    #[serde(rename = "pd")]
1172    Pd,
1173    #[serde(rename = "pse")]
1174    Pse,
1175    #[serde(rename = "")]
1176    Empty,
1177    #[serde(rename = "null")]
1178    Null,
1179}
1180
1181impl Default for PoeMode {
1182    fn default() -> PoeMode {
1183        Self::Pd
1184    }
1185}
1186/// * `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)
1187#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1188pub enum PoeType {
1189    #[serde(rename = "type1-ieee802.3af")]
1190    Type1Ieee802Period3af,
1191    #[serde(rename = "type2-ieee802.3at")]
1192    Type2Ieee802Period3at,
1193    #[serde(rename = "type3-ieee802.3bt")]
1194    Type3Ieee802Period3bt,
1195    #[serde(rename = "type4-ieee802.3bt")]
1196    Type4Ieee802Period3bt,
1197    #[serde(rename = "passive-24v-2pair")]
1198    Passive24v2pair,
1199    #[serde(rename = "passive-24v-4pair")]
1200    Passive24v4pair,
1201    #[serde(rename = "passive-48v-2pair")]
1202    Passive48v2pair,
1203    #[serde(rename = "passive-48v-4pair")]
1204    Passive48v4pair,
1205    #[serde(rename = "")]
1206    Empty,
1207    #[serde(rename = "null")]
1208    Null,
1209}
1210
1211impl Default for PoeType {
1212    fn default() -> PoeType {
1213        Self::Type1Ieee802Period3af
1214    }
1215}