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