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}